scala小练习一
2017-06-04 15:12
323 查看
(1)在Scala REPL中,计算3的平方根,然后再对该值求平方。现在,这个结果与3相差多少?
(2)在REPL 中求 2的 1024 次幂。
(3)获取字符串的首字母和尾字母。
(4)定义signum 函数,接收一个Int 类型的变量,如果这个变量为正数则返回1,为负数则返回-1,为零则返回0。
(5)针对java 循环编写一个scala 版
for(int i = 1; i >= 0 ; i –) System.out.println(i);
(6)编写一个过程 countDown(n: Int) 打印从n 到0 的数字
(7)编写一个for循环,计算字符串中所有字母的Unicode代码的乘积。举例来说,”Hello”中所有字符串的乘
积为9415087488L
(8)彩票小程序,参考java 版的彩票小程序,编写 Scala 版本的Lottery,实现功能如下:
① 输入7个 1~35 的数字(用户购买彩票)
② 随机生成7个数字,系统自动兑奖并返回中奖结果
(9) 用体重和身高计算BMI值
(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" }
相关文章推荐
- Scala红皮书练习10.9探讨
- Scala 高级编程练习
- 5.scala模式匹配及样例类的简单练习--RPC通信
- Scala练习之高级函数
- Scala for the Impatient课后练习(第1章 The Basics)
- Scala练习-桶排序
- Scala练习-斐波那契查找
- Scala练习(八)
- SCALA常规练习B
- Scala 练习:Timesheet
- Scala学习(六)练习
- Scala练习(七)
- Scala练习一基础学习
- scala基础练习:实现日历练习
- Scala练习(九)
- scala学习笔记☞二:简单语法练习
- Scala练习(十六)
- Scala练习二控制结构和函数
- scala练习4
- Scala练习(十七)