Scala练习题

题目

1、创建一个demo1的单例,在demo1中创建一个样例类名字为student1,成员变量为name:String, age:Int
创建主方法实例化student,并传参数(“xiaoming”,20,打印输出student1对象到控制台
2、创建一个demo2的单例,在demo2中创建一个样例类名字为student2,成员变量为name:String, age:Int
创建主方法实例化student2,并传参数(“xiaoming”,20,修改student2对象的age=25,打印输出student2对象到控制台
3、创建一个demo3的单例,在demo3中创建一个样例类名字为student3,成员变量为name:String, age:Int
创建主方法,使用apply方法实例化student3,并传参数(“xiaoming”,18),使用toString输出对象到控制台
4、创建一个demo4的单例,在demo4中创建一个样例类名字为student4,成员变量为name:String, age:Int
创建主方法,并创建a和b两个样例对象,参数都是(“xiaoming”,18,分别使用==和equals两种方式判断a和b对象是否相等
5、创建一个demo5的单例,在demo5中创建一个样例类名字为student5,成员变量为name:String, age:Int
创建主方法,创建三个样例对象a(“xiaoming”,18),b(“xiaoming”,19),c(“xiaoming”,20),分别输出a,b,c的哈希值到控制台
6、创建一个demo6的单例,在demo6中创建一个样例类名字为student6,成员变量为name:String, age:Int
创建主方法, 创建一个实例对象a(“xiaoming”,18),使用copy方法创建另一个对象b(“xiaoli”,20),并输出对象b到控制台
7、创建一个demo7的单例,在demo7中定义一个性别Sex特质,定义两个样例对象并继承了Sex特质,分别为Male 和Female
创建一个样例类名字为student7,成员变量为name:String, sex:Sex,创建主方法, 创建一个实例对象a(“xiaoming”,Male),打印输出对象a
8、创建一个demo8的单例,在demo8中创建一个样例类名字为student8,成员变量为name:String, age:Int
创建主方法,并创建a,b,c三个对象,参数分别为("zhangsan",10)("lisi",20)("wangwu",30),把这三个对象添加到List列表中
循环遍历列表,使用match case进行匹配,匹配到的对象如果是student8("zhangsan",10),打印输出“zhangsan”,
匹配到的对象如果是student8("lisi", 20),打印输出“lisi”,匹配到的对象如果是其他的,打印输出“没有匹配上”
9、创建一个demo9的单例,在demo9中请使用 StdIn.readLine()方法,在控制台输入数据,使用match case进行匹配,
输入1,输出为孙悟空
输入2,输出为猪八戒
输入3,输出为沙和尚
输入0,输出为唐僧
输入其他的,输出为未匹配
10、创建一个demo10的单例,在demo10中使用模式匹配数组
Array(10,x,y,z) ,输出为以10开头,后续的三个元素不固定 
Array(6)	   输出为 只匹配一个6元素的元素
Array(scala, ...)  输出为可以任意数量,但是以0开头的数组
其他的,输出为没有匹配上
11、创建一个demo11的单例,在demo11中使用模式匹配列表
定义一个列表为List(1,2,3),分别匹配输出为只有1的列表,1开头的列表,只有两个元素${
   x}, ${
   y}的列表,未匹配到
12、创建一个demo12的单例,在demo12中
12.1、定义一个值为5的Option实例a
val a : Option[Int] = Some(5)
12.2、定义一个无值的Option实例b
 val b : Option[Int] = None
12.3、对有值的Option实例调用getOrElse不能替换值
a.getOrElse(0)
12.4、getOrElse只能替换None值
b.getOrElse(0)
13、创建一个demo13的单例,在demo13中
13.1、定义一个两个数相除的方法,使用Option类型来封装结果
13.2、然后使用模式匹配来打印结果
13.3、o不是除零,打印结果
13.4、o除零打印异常错误
14、创建一个demo14的单例,在demo14中使用findAllMatchIn进行匹配
定义一个正则表达式,来匹配邮箱是否合法
定义一个合法邮箱测试:666888@163.com
定义一个不合法的邮箱测试:666888@.com
15、创建一个demo15的单例,在demo15中使用try..catch来捕获除零异常
定义一个变量为 a= 100/0,使用try catch进行捕获异常,并打印输出异常信息
16、创建一个demo16的单例,在demo16中
定义一个List(("xiaoming1","男",18),("xiaohua1","女",20),("xiaomeng","男",18),
      ("xiaoli1","女",19),("xiaoming2","男",22),("xiaoli2","女",17),("xiaoming4","男",28))
16.1、把每个人的年龄改成之前的316.2、把每个人的年龄改成之前的2倍,之后再这个基础上进行减一
16.3、年龄小于20的过滤掉
16.4、性别是女的过滤掉
16.5、计算一下所有人的总年龄
16.7、请按照年龄从小到大排序
16.8、请按照年龄从大到小排序
16.9、把每个人的姓名性别年龄合成一个输出
16.10、把年龄为奇数和偶数的人分开
17、创建一个demo17的单例,在demo17中
 创建List("hello world", "alibaba hello", "hello hello hello")
 请把每个元素按照空格进行切分,并打印输出
 
18、创建一个demo18的单例,在demo18中
创建一个List中含有(12345678910)
将list0中的每一个元素乘以10后生成一个新的集合
将list0中的偶数取出来生成一个新的集合list1
将list0中的奇数取出来生成一个新的集合list2
reduce 计算list1所有数的和
reduce 计算list2所有数数组的乘积
将list1的数据降序排列
将list2中的数据进行翻转
创建一个list中包含多个list多个list压平, 也就是抽取出来
 
 19、创建一个demo19的单例,在demo19中
var A0 = Array(1, 4, 10, 3, 6)
var A1 = Array(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5)
var A2 = Array("zhangsan*lisi*wnagwu", "hadoop*hive*hbase", "biejing*hanghai*nanjing")
将A1中的数据进行升序排序
遍历A0中的数据,将返回的结果每个都*2
找出A1中除余3等于1的数返回
将A2中的数据拆分之后重新返回一个新的Array
将A1中的数字累加计算结果

20、创建一个demo20的单例,在demo20中
var arr0=array(11,5,7,2,1,2,3,4,5,6)
var arr1=array("1,2,3,4","6,7,8,9","1,2,3,4")
1.现有一个数组arr0,请将每个元素乘以10,只保留大于40的数并打印。
2.求出arr0中每个元素10倍的乘积
3.将arr1中每个字符串用","切分,组成一个新的集合,并且求出数组的长度
4.将arr0进行奇数偶数分区,基数分区进行正序排序,偶数部分倒序排序	  
21、创建一个demo21的单例,在demo21中
var A1 = Array(6, 7, 8, 9, 10, 1, 2, 3, 4, 5)
var A2 = Array("11,22,33", "44,55,66", "77,88,99")
1.遍历输出A1,并将每个数*2且输出
2.A1升序
3.A1降序
4.A1奇数偶数分开
5.将A2中每个字符串用","切分,组成一个新的集合,并且求出数组的长度
6.将A2中每个字符串用","切分,组成一个新的集合,并且将每个数除11把大于5的数输出
22、创建一个demo22的单例,在demo22中
创建一个val lst0 = List(1,7,9,8,0,3,5,4,6,2)
将lst0倒序排序
将lst0中的偶数取出来生成一个新的集合lst1
将lst1反转
求lst1的和
var A1 = Array("1,2,3", "4,5,6", "7,8,9")
将A1中字符串用“,”切分,生成新的集合,并将奇数偶数分开打印
23、创建一个demo23的单例,在demo23中
1.创建一个名为list的List(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5)列表
2.使用map方法和foreache方法list遍历
3.将集合内数据*10产生一个新的列表L2
4.将L2中的所有偶数取出来产生一个新的列表L3
5.计算L3数据的总和
6.将L3倒序排序
7.将L3反转
8.创建新list1数据为 List(Array(11,22,33), Array
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值