Scala基础练习题1

1:输入两个数,按从小到大排序后输出

 

import scala.io.StdIn
​
//输入两个数,按从小到大排序后输出
object compare_two_number {
  def main(args: Array[String]): Unit = {
    println("请输入一个数:")
    val number1:Int = StdIn.readInt();
    println("请输入另一个数:")
    val number2:Int = StdIn.readInt();
    if(number1>number2){
      println(number1,number2)
    }else{
      println(number2,number1)
    }
  }
​
}

2:输入三个数(互不相同),并将三个升序输出(升序(从小到大)

import scala.io.StdIn
​
//输入三个数(互不相同),并将三个升序输出(升序(从小到大)
object Print_asc_threeNumber {
  def main(args: Array[String]): Unit = {
    println("请输入第一个数:")
    val number1:Int = StdIn.readInt();
    println("请输入第二个数:")
    val number2:Int = StdIn.readInt();
    println("请输入第二个数:")
    val number3:Int = StdIn.readInt();
    if(number1>number2){
      if(number2>number3){
        println(number3,number2,number1)
      }else if(number1>number3){
        println(number2,number3,number1)
      }else if(number1<number3){
        println(number2,number1,number3)
      }
    }else{
      if(number1>number3){
        println(number3,number1,number2)
      }else if(number2>number3){
        println(number1,number3,number2)
      }else if(number2<number3){
        println(number1,number2,number3)
      }
    }
  }
​
}
​

3:输入一个年份,判断是否是闰年 能被400整除 能被4整除,不能被100整除

​
import scala.io.StdIn
​
//year % 4 == 0 && year % 100 != 0 || year % 400 == 0 //平闰年判断算法
​
object Leap_Year {
  def main(args: Array[String]): Unit = {
    println("请输入年份:")
    val year:Int = StdIn.readInt();
    var flag = 0
    if(year%4==0&&year%100!=0||year%400==0){
      flag=1;
    }
    if(flag==1){
      println(year+"是闰年!")
    }else{
      println(year+"不是闰年!")
    }
  }
}
​

4.输入一个时间,输出它的下一秒时间。

20:39:40 -->20:39:41
20:39:59 -->20:40:00
20:59:59 -->21:00:00
23:59:59 -->00:00:00

import java.text.SimpleDateFormat
import scala.io.StdIn
​
object time_transform {
  def main(args: Array[String]): Unit = {
​
    val format = new SimpleDateFormat("HH:mm:ss")
    println("请输入时间:")
    var Initialtimes=StdIn.readLine()
    var millionSeconds = format.parse(Initialtimes).getTime()+1000
    var resulttimes=format.format(millionSeconds)
    println(resulttimes)
​
  }
}

5.输出1000以内所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。

//输出1000以内所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
object narcissistic_number_shuixianhuashu {
  def main(args: Array[String]): Unit = {
    var i=100
    while(i<1000){
      var x=i%10
      var y=i/10%10
      var z=i/100%10
      if(i==x*x*x+y*y*y+z*z*z){
        print(i+" ")
      }
      i+=1
    }
​
  }
​
}

6.打印输出乘法口诀表(直角三角形)

​
object print99 {
  def main(args: Array[String]): Unit = {
    for( i<- 1 to 9){
      for(j<- 1 to i){
        print(i+"*"+j+"="+i*j+" ")
      }
      println()
    }
  }
​
}

7.在屏幕上输出以下内容:

12345
1234
123
12
1

object while54321 {
  def main(args: Array[String]): Unit = {
    for(i<- 1 to 5){
      for(j<- 1 to 5-i+1){
        print(j)
      }
      println()
    }
  }
​
}

8.给定一个n位的整数,将该数位逆置,例如给定12345变成54321,12320变成2321要求:输入是数字-->打印的结果也要是一个数字 12345 -> 54321 12320 --> 2321 12032 -->23021

 

import scala.io.StdIn
object reversal_number {
  def main(args: Array[String]): Unit = {
    println("请输入一个数:")
    var number:Int = StdIn.readInt();
    println((number.toString.reverse.toInt))
  }
}

9.求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字(1-9之间)计算的数据的个数是5。例如2+22+222+2222+22222

import scala.io.StdIn
​
object NtoN {
  def main(args: Array[String]): Unit = {
    println("请输入一个数:")
    var number=StdIn.readInt()
    println("请输入循环的次数:")
    var length=StdIn.readInt()
    for(i<-1 to length){
      if(i==1){
        println(number)
      }else{
        number=number*10+number
        println(number)
      }
​
    }
  }
​
}

10.打印下述图形

    打印
    ABBBB
   AABBB
  AAABB
 AAAAB
AAAAA

object print_graph {
  def main(args: Array[String]): Unit = {
    val a="A"
    val b="B"
    for(i<- 1 to 5){
      for(x<- 1 to 5-i+1){
        print(" ")
      }
      for(y<- 1 to i){
        print(a)
      }
      for(z<- 1 to 5-i){
        print(b)
      }
      println()
    }
  }
​
}
​

 

  • 1
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值