scala12,17|scala特殊类型|练习题

 


Scala内建控制、类和对象折叠
一、简答题

1.Scala的程序入口是什么

scala的程序入口是main()函数。
2. Scala对外访问变量的原因是什么?

外部访问变量的原因主要有以下几点:

可读性和可维护性:在大型项目中,通过将变量定义为外部访问,可以使得代码更易于理解和维护。因为外部变量通常用于封装一些状态或数据,这对于理解代码的行为和状态非常有帮助。
封装和抽象:外部访问变量允许你隐藏实现细节,只暴露必要的接口。这有助于实现更好的封装和抽象,使代码更加模块化。
可重用性:通过将变量设置为外部访问,你可以在不同的类或函数中重复使用这些变量。这对于实现跨模块的通信和数据共享非常有用。
扩展性:外部访问变量可以用于扩展功能。例如,你可以在父类中定义一个外部变量,然后在子类中重写它,从而实现不同的行为。
共享状态:在一些情况下,你可能需要在多个类或对象之间共享状态。通过将变量设置为外部访问,你可以在多个类或对象之间共享和修改这些变量的值。

二、编程题

1.打印数字1~100,每行包含一组5个数,例如:
1,2,3,4,5
6,7,8,9,10
...

文字1~100,所有3和5的倍教除外

1
for (i <- 1 to 100 by 5) {
  for (j <- i to (i + 4)) {
    if (j % 3 != 0 && j % 5 != 0) {
      print(j + ",")
    }
  }
  println()
}



2.写一个表达式,打印数字1~100,所有3和5的倍数除外。3的倍数打印“triple” ,5的倍数打印“five”,3和5的倍数打印“triple_five”。

for (i <- 1 to 100) {
  if (i % 3 == 0 && i % 5 == 0) {
    println(i + " => triple_five")
  } else if (i % 3 == 0) {
    println(i + " => triple")
  } else if (i % 5 == 0) {
    println(i + " => five")
  } else {
    println(i)
  }
}



3.写一个表达式,要求给一个双精度,如果值大于0返回“greater”,等于0返回“equal”,否则返回“less”。表达式的值赋给一个变量result。

打印result。

val value = -5.0 // 为给定的双精度值
val result = if (value > 0) "greater" else if (value == 0) "equal" else "less"
println(result)


4.根据参数n,输出等腰三角形,例如n=4:

#

##

###

####

def printTriangle(n: Int): Unit = {  
  for (i <- 1 to n) {  
    // 输出空格  
    for (j <- 1 to n - i) {  
      print(" ")  
    }  
    // 输出星号  
    for (j <- 1 to 2 * i - 1) {  
      print("*")  
    }  
    println()  
  }  
}  
  
// 调用函数,输出等腰三角形  
printTriangle(5)



5.定义一个 Point,使得可以不用 new,而是用 Point(3,4)创建对象,并求横纵坐标的和。

object Point {
  def apply(x: Double, y: Double): Point = new Point(x, y)
}
class Point(val x: Double, val y: Double) {
  def sum(): Double = x + y
}
// 创建Point对象
val point = Point(3, 4)
// 计算横纵坐标之和
println(point.sum())  // 输出: 7.0



6.定义一个学生注册信息类,要求有姓名、电话、专业和身份证号。其中你可以选择用姓名和电话或姓名身份证号注册。电话、姓名和身份证号为不可修改属性,专业为非必要属性且可修改(提示:
提供2个构造器),如果姓名和电话或姓名和身份证号相等,可认为是同一个学生,打印输出(“信息已经注册或请核对信息”)。

(待

  • 30
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值