scala小练习一
来源:互联网 发布:广西广电网络机顶盒 编辑:程序博客网 时间:2024/04/30 01:13
(1)在Scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?
(2)在REPL 中求 2的 1024 次幂。
(3)获取字符串的首字母和尾字母。
(4)定义signum 函数,接收一个Int 类型的变量,如果这个变量为正数则返回1,为负数则返回-1,为零则返回0。
def signum(a:Int): Int ={ if(a>0) return 1 else if(a<0) return -1 else return 0 }
(5)针对java 循环编写一个scala 版
for(int i = 1; i >= 0 ; i –) System.out.println(i);
for(a<- 0 to 1 reverse){ println(a) }
(6)编写一个过程 countDown(n: Int) 打印从n 到0 的数字
def countDoun(n:Int){ val a=0 to n a.reverse.foreach(i => println(i)) }
(7)编写一个for循环,计算字符串中所有字母的Unicode代码的乘积。举例来说,”Hello”中所有字符串的乘
积为9415087488L
def count(str:String): Long ={ var res:Long=1 for(i<-str){ res=res*i } return res }
(8)彩票小程序,参考java 版的彩票小程序,编写 Scala 版本的Lottery,实现功能如下:
① 输入7个 1~35 的数字(用户购买彩票)
② 随机生成7个数字,系统自动兑奖并返回中奖结果
def buy(user:Array[Int]): Array[Int] ={ println("请输入1~35之间的七个整数") var a=0 while(a<7){ val num=readInt() if(num>0&&num<=35){ var flag=false for(b<-user){ if(b==num){ println("输入重复,请重新输入") flag=true } } if(flag==false){ user(a)=num a+=1 } } else println("输入数据越界请重新输入") } return user } def printuser(user:Array[Int]): Unit ={ println("用户购买号码为") user.foreach(println) } def kaijiang(): Array[Int] ={ var ran=1 to 35 toArray var cp=new Array[Int](7) var a=0 while(a<7){ val num=(math.random*35+1).toInt //val num=new Random().nextInt(36) var flag=false for(b<-cp){ if(b==num) flag=true } if(flag==false){ cp(a)=num a+=1 } } return cp } def printcp(cp:Array[Int]): Unit ={ println("系统开奖号码为") cp.foreach(println) } def duijiang(user:Array[Int],cp:Array[Int]): Int ={ println("用户中奖号码:") var winning=user.filter(cp.contains(_)) winning.foreach(println) var level:Int=winning.length return level } def fajiang(level:Int): Unit ={ level match { case 1=>println("7等奖") case 2=>println("6等奖") case 3=>println("5等奖") case 4=>println("4等奖") case 5=>println("3等奖") case 6=>println("2等奖") case 7=>println("1等奖") case 0=>println("哎……") } } def main(args: Array[String]): Unit = { var user:Array[Int]=new Array[Int](7) var cp:Array[Int]=new Array[Int](7) var level:Int=0 user=buy(user) printuser(user) cp=kaijiang() printcp(cp) level=duijiang(user,cp) fajiang(level) }
(9) 用体重和身高计算BMI值
def bmiStatus(weight:Double,height:Double):String={ val res=weight/(height*height) println(res) if(res<18.5) return "under Weight" else if(res>24.0) return "over weight" else return "Normal weight" }
阅读全文
0 0
- scala小练习一
- scala小练习二
- scala小练习三
- scala小练习四
- Scala练习(一)
- OpenGL小练习一
- 一、JNI 小练习
- Python小练习一
- 小练习一
- ArrayList小练习一枚
- Python小练习(一)
- JSP小练习(一)
- XML小练习(一)
- python小练习(一)
- C++小练习(一)
- Scala练习
- spark 官方动手练习一:Introduction to the Scala Shell
- spark小应用一:wordcount,按词频降序(SCALA)
- 复习
- F
- 字符串匹配
- bzoj1532: [POI2005]Kos-Dicing
- java中的动态代理
- scala小练习一
- hive-udf开发实例1
- 【实训】第三周总结下
- android自定义view之加载动画ColorBall
- vue开发:vue中computed 和 watch的异同
- GIT科普系列 文章列表
- Python 异常处理
- 前端基础笔记10
- 设计模式之单例模式