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()
}
}
}
}
}