ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

实验一 初步掌握Scala程序设计

2022-02-25 17:05:56  阅读:222  来源: 互联网

标签:return gcd Scala Int sum 实验 var 程序设计 def


课程名称Spark大数据分析实验室名称                     
实验名称实验一 初步掌握Scala程序设计
指导老师成绩

一、实验任务及结果

1.可否定义一个sum函数呢?返回指定区间的值的和?例如,区间[1,4]的和为1+2+3+4=10返回指定区间值的平方的和呢?立方呢?

object Sum {
  def sum(x: Int, y: Int): Int = {
    var sum: Int = 0
    var i = 0
    for(i <- x to y ){
      sum  = sum + i
    }
    return  sum
  }

  def squareSum(x: Int, y: Int): Int = {
    var sum: Int = 0
    var i = 0
      for(i <- x to y ){
        sum  = sum + i*i
      }
    return  sum
  }

  def cubeSum(x:Int, y:Int ): Int = {
    var sum: Int = 0
    var i = 0
    for(i <- x to y ){
      sum  = sum + i*i*i
    }
    return  sum
  }
  def main(args: Array[String]): Unit = {
      println(sum(1,4),cubeSum(1,4), squareSum(1,4))
  }
}

在这里插入图片描述
2、定义一个gcd函数,计算两个数的最大公因数。

import scala.io.StdIn

object Gcd {
  def gcd(x:Int, y:Int): Int ={
      var a: Int = x
      var b: Int = y
    if(a % b == 0)
      return b
    else
      return gcd(b, a % b)
  }
  def main(args: Array[String]): Unit = {
    println("输入x:")
    val x:Int = StdIn.readInt()
    println("输入y:")
    val y:Int = StdIn.readInt()
    println("x,y的最大公因数是",gcd(x,y))
  }
}

在这里插入图片描述

3、scala实现杨辉三角。

object YH_triangle {
  def triangle(line:Int) = {
    var Arr = Array(1,0,0)
    var blank = line-1
      for (i <- 1 to line){
        for (k <- 0 to blank)
          printf(" ")
        blank -= 1
        if (blank<0) blank = 0
        val array = new Array[Int](i)
        array(0) = 1;  array(i-1) = 1;
        if (i>2){
          for (j<- 1 to i-2){
            array(j) = Arr(j-1) + Arr(j)
          }
        }
        for (k <- 0 until i){
          printf("%d ",array(k))
        }
        printf("\n")
        Arr = array
      }
  }
  def main(args: Array[String]): Unit = {
    triangle(5)
  }
}

在这里插入图片描述

二、实验总结及问题

1、学会使用什么做什么事情;
学会使用scala基本语法
2、在实验过程中遇到了什么问题?是如何解决的?

3、还有什么问题尚未解决?可能是什么原因导致的。

标签:return,gcd,Scala,Int,sum,实验,var,程序设计,def
来源: https://blog.csdn.net/qq_46023947/article/details/123120202

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有