《Java技术》第一次作业
(一)学习总结
1 .在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
文本扫描类Scanner(java.util.Scanner),可以使用不同的next方法将输入的文本转换为不同的类型的值。
获取基本类型数据的方法是:
nextlnt():读取整形数据
nextDouble():读取双精度数据
next()一读取输入的下一个单词(空格作为分隔符)
next()读取输入 下一个行内容
构造Scanner对象,并与System.in关联
Scanner input=new Scanner(System.in);
调用Scanner的各种方法完成输入操作。
int num=input.nextlnt();
在从键盘输入数据时,经常让Scanner对象先调用hasNextXXX()方法等待用户在键盘输入数据,然后再调用nextXXX()方法获取用户输入的数据。
2、2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明
Math类的random()方法可以生成大于等于0.0、小于1.0的double类型随机数;
而Random类是一个类(java.util.Random),里面含有很多方法。
3、.运行下列程序,结果是什么?查阅资料,分析为什么。
结果:
为了处理精度损失的问题,可以使用java.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。
(二、)实验总结
1、看商品猜价格
思路:
用随机数产生一个商品价格;
利用for循环输入价格与随机产生价格做比较;
如果猜对则输出商品价格;
如果猜的次数超过十次则再第十次直接输出商品的价格
问题:
当输入商品价格是100以上的时候没有提醒
解决:加入一个if 当商品价格超过100则提醒错误
2、万年历
思路:首先判断是否是闰年;
再判断哪几个月份为31天、30天;以及闰年的2月份和平年的2月份的天数;
3、评分系统
思路:利用二维数组存放十位选手的五次成绩
去掉最高分最低分并对剩下的成绩求和求出平均分
再对五位选手的成绩进行排序