1:输入两个数,按从小到大排序后输出
2:输入三个数(互不相同),并将三个升序输出(升序(从小到大)
3:输入一个年份,判断是否是闰年
能被400整除
能被4整除,不能被100整除
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
5.输出1000以内所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
6.打印输出乘法口诀表(直角三角形)
7.在屏幕上输出以下内容:
12345
1234
123
12
1
8.给定一个n位的整数,将该数位逆置,例如给定12345变成54321,12320变成2321
要求:输入是数字–>打印的结果也要是一个数字 12345 -> 54321 12320 –> 2321 12032 –>23021
9.求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字(1-9之间)计算的数据的个数是5。例如2+22+222+2222+22222
10.输入一个数,打印下述图形
输入5
打印
ABBBB
AABBB
AAABB
AAAAB
AAAAA
package hw01_scala
import scala.io.StdIn
object Test01 {
def main(args: Array[String]): Unit = {
//t1()
// t2()
// t3()
//t4()
// t5()
// t6()
// t7()
//t8()
// t9()
t10()
}
def t1(): Unit ={
println("Please input two numbers: ")
var m=StdIn.readInt()
var n=StdIn.readInt()
var t=0;
if(m>n){
t=m
m=n
n=t
}
println(m+" "+n)
}
///t2
def t2(): Unit ={
var max=0
var n=StdIn.readInt()
var arr =new Array[Int](n)
for(i <- 0 to n-1 ){
var m=StdIn.readInt()
arr(i)=m
}
quickSort(arr, 0, n-1);
for(i <- 0 to n-1 ){
print(arr(i)+" ")
}
}
/t2-快排
def quickSort(arr : Array[Int],low : Int,high : Int): Unit ={
var i,j,temp,t=0
if(low>high){
return;
}
i=low;
j=high;
//temp就是基准位
temp = arr(low);
while (i<j) {
//先看右边,依次往左递减
while (temp<=arr(j)&&i<j) {
j=j-1;
}
//再看左边,依次往右递增
while (temp>=arr(i)&&i<j) {
i=i+1;
}
//如果满足条件则交换
if (i<j) {
t = arr(j);
arr(j) = arr(i);
arr(i) = t;
}
}
//最后将基准为与i和j相等位置的数字交换
arr(low) = arr(i);
arr(i) = temp;
//递归调用左半数组
quickSort(arr, low, j-1);
//递归调用右半数组
quickSort(arr, j+1, high);
}
///t3
def t3():Unit = {
// 能被400整除
// 能被4整除,不能被100整除
// val input= new Scanner(System.in)
println("输入一个年份:")
// val num=input.nextInt()
val num= StdIn.readInt()
if((num %4==0 && num%100!=0) | num % 400 ==0 ){
println(num+"是闰年")
}else {
println(num+"不是闰年")
}
}
///23:59:59 -->00:00:00
def t4(): Unit ={
println("请输入时间:")
val time=StdIn.readLine()
val str : Array[String] = time.split(":")
var h = str(0).toInt
var m = str(1).toInt
var s = str(2).toInt
s+=1
if(s==60){
m+=1
s=0
if(m==60){
h+=1
m=0
if(h==24){
h=0
}
}
}
printf("%02d:%02d:%02d",h,m,s)
}
//t5
//5.输出1000以内所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。
def t5(): Unit ={
for(i <- 100 to 1000-1){
var g=i%10
var s=i/10%10
var b=i/100
if(i==(Math.pow(g,3)+Math.pow(s,3)+Math.pow(b,3))){
println(i)
}
}
}
//6.打印输出乘法口诀表(直角三角形)
def t6(): Unit ={
for(i <- 1 to 9){
for(j <- 1 to 9){
if(i>=j){
print(j + "x" + i + "=" + (i*j) + "\t")
}
}
println()
}
}
// 7.在屏幕上输出以下内容:
// 12345
// 1234
// 123
// 12
// 1
def t7(): Unit ={
for(i <- 1 to 5){
for(j <- 1 to 6-i){
print(j)
}
println()
}
}
//8.给定一个n位的整数,将该数位逆置,例如给定12345变成54321,12320变成2321
//要求:输入是数字-->打印的结果也要是一个数字 12345 -> 54321
// 12320 --> 2321 12032 -->23021
def t8(): Unit ={
// var num=12340
// var sub=0
// while(num!=0){
// var a = num%10
// sub=sub*10+a
// num=num/10
// }
// println(sub)
val n=StdIn.readInt()
val nn=n.toString.reverse.toInt
println(nn)
}
// 9.求s=a+aa+aaa+aaaa+aa...a的值,
// 其中a是一个数字(1-9之间)计算的数据的个数是5。例如2+22+222+2222+22222
def t9(): Unit ={
println("请输入一个数字(1-9之间):")
var n=StdIn.readInt()
var str=n.toString
var m=n
for(i <- 1 to 4){
str=str+m
println(str)
n += str.toInt
}
println(n)
}
// 10.输入一个数,打印下述图形
// 输入5
// 打印
// ABBBB
// AABBB
// AAABB
// AAAAB
// AAAAA
def t10(): Unit ={
println("请输入一个数字:")
val num=StdIn.readInt()
for(i <- 1 to num){
for(j <- i until num){
print(" ")
}
for(k <- 1 to i){
print("A")
}
for(x <- i until num){
print("B")
}
println()
}
}
}
今天的文章scala入门练习「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63022.html