大数据之Scala学习之基础练习
Posted Mr.zhou_Zxy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据之Scala学习之基础练习相关的知识,希望对你有一定的参考价值。
1:输入两个数,按从小到大排序后输出
import scala.io.StdIn
object num1 {
def main(args:Array[String]): Unit ={
println("请输入第一个数字:")
val num1 = StdIn.readInt()
println("请输入第二个数字:")
val num2 = StdIn.readInt()
change(num1,num2)
}
def change(num1:Int,num2:Int): Unit ={
if(num1 < num2) print(s"$num1 -> $num2")
else print(s"$num2 -> $num1")
}
}
2:输入三个数(互不相同),并将三个升序输出(升序(从小到大)
import scala.io.StdIn
//2:输入三个数(互不相同),并将三个升序输出(升序(从小到大)
object num2 {
def main(args:Array[String]): Unit ={
println("请输入三个互不相同的数字!!!")
println("请输入第一个数字:")
val num1 = StdIn.readInt()
println("请输入第二个数字:")
val num2 = StdIn.readInt()
println("请输入第三个数字:")
val num3 = StdIn.readInt()
Order1(num1,num2,num3)
Order2(num1,num2,num3)
}
/**
*num2 < num1
*/
def Order1(num1:Int,num2:Int,num3:Int): Unit ={
if(num1 < num2){
if(num2 < num3) print(s"$num1 -> $num2 -> $num3")
else if(num1 < num3) print(s"$num1 -> $num3 -> $num2")
else print(s"$num3 -> $num1 -> $num2")
}
else{
if(num1 < num3) print(s"$num2 -> $num1 -> $num3")
else if(num2 > num3) print(s"$num3 -> $num2 -> $num1")
else print(s"$num2 -> $num3 -> $num1")
}
}
}
3:输入一个年份,判断是否是闰年
能被400整除
能被4整除,不能被100整除
import scala.io.StdIn
object leap {
def main(args:Array[String]): Unit ={
println("请输入一个年份")
val year = StdIn.readInt()
if(JudgeYear(year)){
println(year + "是一个闰年")
}else{
println(year + "是一个平年")
}
}
def JudgeYear(year:Int): Boolean = {
var isLeapYear = true
if(year % 3200 == 0) isLeapYear = false;
else if(year % 400 == 0) isLeapYear = true;
else if(year % 100 == 0) isLeapYear = false;
else if(year % 4 == 0) isLeapYear = true;
else isLeapYear = false;
isLeapYear
}
}
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 java.util.Date
import scala.io.StdIn
object num4 {
def main(args:Array[String]): Unit ={
val format = new SimpleDateFormat("HH:mm:ss")
val time1 = format.parse("20:39:40")
val time2 = time1.getTime + 1000
val time3 = format.format(new Date(time2.toLong))
println("你输入的时间是:" + time1)
println("下一秒的时间是:" + time3)
}
}
5.输出1000以内所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
object num5 {
def main(args:Array[String]): Unit ={
for(n <- 100 until 1000){
val a = n % 10
val b = n % 100 / 10
val c = n / 100
val sum = (a*a*a) + (b*b*b) + (c*c*c)
if(sum == n) println(n)
}
}
}
6.打印输出乘法口诀表(直角三角形)
object num5 {
def main(args:Array[String]): Unit = {
for (i <- 1 to 9 ; j <- 1 to 9 ; if(j <= i) ) {
print(s"$i * $j = ${i * j}\\t")
if(i == j) println()
}
}
}
7.在屏幕上输出以下内容:
12345
1234
123
12
1
object num6 {
def main(args:Array[String]):Unit = {
for (i <- 1 to 5 reverse; j <- 1 to 5; if(j <= i)) {
print(j)
if (i == j) println()
}
}
}
8.给定一个n位的整数,将该数位逆置,例如给定12345变成54321,12320变成02321
要求:输入是数字–>打印的结果也要是一个数字 12345 -> 54321 12320 --> 2321 12032 -->23021
import scala.io.StdIn
object num8 {
def main(args:Array[String]): Unit ={
println("请输入一个数字 ")
var num = StdIn.readInt()
println(num.toString.reverse.toInt)
}
}
9.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字(1-9之间)计算的数据的个数是5。例如2+22+222+2222+22222
import scala.io.StdIn
import scala.util.Random
object num9 {
def main(args:Array[String]) {
val random = new Random()
val a = random.nextInt(8) + 1
println("a = " + a)
println("请输入需要计算数据的个数")
val n = StdIn.readInt()
println("数据个数为:" + n + ",参与计算数字为:" + a + ",结果为:" + number(a,n))
}
def number(num:Int,n:Int): Int ={
var i = n
var numb = 0
var sum = 0
while(i > 0) {
numb = (s"${num}" * i).toInt
println(numb)
sum += numb
i -=1
}
sum
}
}
10.输入一个数,打印下述图形
输入5
打印
ABBBB
AABBB
AAABB
AAAAB
AAAAA
以上是关于大数据之Scala学习之基础练习的主要内容,如果未能解决你的问题,请参考以下文章