scala初学者入门练习题2

1.统计三个班级成绩情况,每个班有5名同学,求出每个班级的平均分和所有班级的平均分[学生的成绩从键盘输入]

import scala.collection.mutable.ArrayBuffer
import scala.io.StdIn
object HelloScala {
  def main(args: Array[String]): Unit = {
    val arr1 = new ArrayBuffer[Int]()
    val arr2 = new ArrayBuffer[Int]()
    val arr3 = new ArrayBuffer[Int]()
    var mainmenu = true
    while (mainmenu){
      println("请输入所在班级:1. 1班    2. 2班    3.  3班   4.输入完毕")
      StdIn.readInt() match {
        case 1 => {
          println("请输入学生分数:")
          arr1.append(StdIn.readInt())
        }
        case 2 => {
          println("请输入学生分数:")
          arr2.append(StdIn.readInt())
        }
        case 3 => {
          println("请输入学生分数:")
          arr3.append(StdIn.readInt())
        }
        case 4 => {
          mainmenu= false
        }
        case _ => {
          println("请输入正确的索引!!!")
        }
      }
    }
    try {
      val avg1 = arr1.sum / arr1.length
      val avg2 = arr2.sum / arr2.length
      val avg3 = arr3.sum / arr3.length
      val avg = (avg1 + avg2 + avg3) / 3
      println("1班平均分:" + avg1)
      println("2班平均分:" + avg2)
      println("3班平均分:" + avg3)
      println("所有班级平均分:" + avg)
    }catch {
      case ex: ArithmeticException=> println("捕获了除数为零的算数异常")
    }
  }
}

2.统计三个班及格人数,每个班5名同学

import scala.collection.mutable.ArrayBuffer
import scala.io.StdIn
object HelloScala {
  def main(args: Array[String]): Unit = {
    val arr1 = new ArrayBuffer[Int]()
    val arr2 = new ArrayBuffer[Int]()
    val arr3 = new ArrayBuffer[Int]()
    var mainmenu = true
    while (mainmenu){
      println("请输入所在班级:1. 1班    2. 2班    3.  3班   4.输入完毕")
      StdIn.readInt() match {
        case 1 => {
          println("请输入学生分数:")
          arr1.append(StdIn.readInt())
        }
        case 2 => {
          println("请输入学生分数:")
          arr2.append(StdIn.readInt())
        }
        case 3 => {
          println("请输入学生分数:")
          arr3.append(StdIn.readInt())
        }
        case 4 => {
          mainmenu= false
        }
        case _ => {
          println("请输入正确的索引!!!")
        }
      }
    }
    val arr = arr1 ++ arr2 ++ arr3
    var n = 0
    for (elem <- arr) {
      if(elem >= 60){
        n+=1
      }
    }
    println("三个班级的及格人数为"+n)
  }
}

3.打印九九乘法表

object HelloScala {
  def main(args: Array[String]): Unit = {
    for (i <-1 to 9){
      for (j <-1 to i){
        print(j + "*" + i + "=" + i*j+"\t")
      }
      print("\n")
    }
  }
}

4.100以内的数求和,求当和第一次大于20的当前数,使用for循环

import util.control.Breaks._
object HelloScala {
  def main(args: Array[String]): Unit = {
    var sum = 0
    breakable {
      for (i <- 1 to 100) {
        sum += i
        if (sum > 20) {
          println("当前数为:" + i)
          break()
        }
      }
    }
  }
}

5.实现登录验证,有三次机会,如果用户名为“张无忌”,密码为“888”,提示登录成功,否则提示还有几次机会,使用for循环

import scala.io.StdIn
import util.control.Breaks._
object HelloScala {
  def main(args: Array[String]): Unit = {
    val user = "张无忌"
    val pwd = "888"
    breakable {
      for (i <- 1 to 3){
        println("请输入用户名:")
        var temp_user = StdIn.readLine()
        println("请输入密码:")
        var temp_pwd = StdIn.readLine()
        if (temp_user.equals(user) && temp_pwd.equals(pwd)) {
          println("登录成功")
          break()
        }else {
          println("请输入正确的账户和密码,还有"+(3-i)+"次机会")
        }
      }
    }
  }
}

6.某人有100000元,每经过一次路口,需要交费,规则如下:
1)当现金大于50000时,每次交5%
2)当现金小于等于50000时,每次交1000
编程计算该人可以经过多少次路口,使用for循环

import util.control.Breaks._
object HelloScala {
  def main(args: Array[String]): Unit = {
    var money : Double = 100000
    val yinzi : Double = 0.95
    breakable {
      for (i <- 1 to 1000) {
        if (money > 50000) {
          money = money * yinzi
        } else if (money >= 0) {
          money -= 1000
        } else {
          println("经过了"+i+"次路口")
          break()
        }
      }
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值