Scala之循环练习(scala打印九九乘法表)

   之一
    package com.smalltiger.ConditionalExpression
    
    import scala.io.StdIn
    
    /**
      * Created by smalltiger on 2018/11/30.
      */
    object Demo03 {
      def main(args: Array[String]): Unit = {
        //scala九九乘法表
        for (i <- 1 to 9){
          for(j <- 1 to i){
            print(i+"x"+j+"="+i*j+"\t")
          }
          println()
        }

    //统计三个班的学生成绩,每个班有5名学生,求出各个班级的平均分和所有班级的平均分,学生成绩从键盘输入
    var sum = 0 //统计及格人数
    var sum1 = 0.0
    val number = 5

    println("请输入一班的学生成绩:")
    for (i <- 1 to number) {
      var a = StdIn.readDouble()
      println("一班" + i + "号学生成绩:" + a)
      sum1 = sum1 + a;
      if (a >= 60) {
        sum = sum + 1;
      }
    }
    println("一班学生平均成绩为:" + (sum1 / number))

    var sum2 = 0.0
    println("请输入二班的学生成绩:")
    for (i <- 1 to number) {
      var a = StdIn.readDouble()
      println("二班" + i + "号学生成绩:" + a)
      sum2 = sum2 + a;
      if (a >= 60) {
        sum = sum + 1;
      }
    }
    println("二班学生平均成绩为:" + (sum2 / number))

    var sum3 = 0.0
    println("请输入三班的学生成绩:")
    for (i <- 1 to number) {
      var a = StdIn.readDouble()
      println("三班" + i + "号学生成绩:" + a)
      sum3 = sum3 + a;
      if (a >= 60) {
        sum = sum + 1;
      }
    }
    println("三班学生平均成绩为:" + (sum3 / number))

    print("所有班级学生平均分: ")
    val avg = (sum1 + sum2 + sum3) / (3 * number)
    printf("avg=%.2f\n", avg)

    println("所有班级的及格人数为:" + sum)
  }
}

之二

package com.smalltiger.ConditionalExpression

import scala.io.StdIn

/**
  * Created by smalltiger on 2018/11/30.
  */
object Demo04 {
  def main(args: Array[String]): Unit = {
    //100以内数求和,并求出当和第一次大于10时i的值
    /* var sum = 0;
     var a:Boolean =true;
     for (i <- 1 to 100 if a==true){
       sum = sum + i
       if(sum > 10){
         println("i="+i)
         a=false;
       }
     }*/

    //登录判断的实现,总共有三次机会,当用户名为"smalltiger",密码为"888",提示登录成功
    /*    var a:Boolean =true;
        for(i <- 1 to 3 if a==true){
          println("请输入用户名:")
          var name = StdIn.readLine()
          println("请输入密码:")
          var password = StdIn.readLine()
          if(name=="smalltiger"&&password=="888"){
            println("smalltiger 欢迎来到我的世界!")
            a=false
          }else{
            println("登录失败,您还有"+(3-i)+"次重新登录的机会!")
          }
        }*/

    /*某人有100000元现金,每经过一次路口被打劫依次,打劫的规则如下:
    * 1.当现金>50000时,每次交5%
    * 2.当现金<=50000时,每次交1000
    * */
    var money = 100000.0;
    var sum = 0;
    var a:Boolean =true;

    while (a){
      if (money <= 100000&&money>50000) {
        money = 0.95 * money
        sum = sum + 1
      } else if (money <= 50000&&money>1000) {
        money = money - 1000
        sum = sum + 1
      } else if (money < 1000) {
        a = false
      }
    }


    println("此倒霉孩子被拦路打劫" + sum + "次!")
  }
}

猜你喜欢

转载自blog.csdn.net/smsmtiger/article/details/84668100
今日推荐