(一)学习总结
1.在java中通过Scanner类完成控制台的输入,Scanner类实现基本数据输入的方法是什么?
文本扫描类Scanner(导入 important java .util.Scanner),可以使用不同的next方法将输入的文本转换为不同类型的值。
获取基本类型数据的方法是:
nextInt() :读取整型数据
nextDouble() :读取双精度数据
next():读取输入的下一个单词(空格作为分隔符)
nextLine():读取输入的 下一行内容
从键盘输入:
先构造Scanner对象,并与System.in关联
Scanner input=new Scanner(System.in);
调用Scanner的各种方法完成输入操作
int num=input.nextInt();
在从键盘输入数据时,经常让Scanner对象先调用hasNextXXX()方法等待用户在键盘输入数据,然后再调用nextXXX()方法获取用户输入的数据。
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别。
Random类产生随机数 如nextInt(int n)返回一个0(包括)和n(不包括)之间的均匀分布的int值。
nextFloat() 返回一个在 0.0 和 1.0 之间均匀分布的 float 值。
Math类的random()方法 产生0-1之间的double类的随机数
3.运行下列程序,结果是什么?查阅资料,分析为什么。
public class Test {
public static void main(String args[]) {
double a = 0.1;
double b = 0.1;
double c = 0.1;
if((a + b + c) == 0.3){
System.out.println("等于0.3");
}else {
System.out.println("不等于0.3");
}
}
}
结果不等于0.3.
因为浮点数精度丢失,导致的误差,为了处理精度损失的问题,可以使用java.math.BigDecimal类。
4.总结:(1)所有方法都要写在类里,注意大括号。
(2)java里输出语句为:System.out.println(""),注意不能用printf ,ln为line ,换行。
(3)输出语句中字符串用“+”连接。
(4)没有特殊要求的,方法中不应有输出语句。
(5)类名称定义要有意义。
(二)实验总结
实验内容:
1.看商品猜价格
程序设计思路:(1)产生一个随机数作为价格
(2)利用for循环控制猜价格机会10次, 每次输入价格,与随机价格进行比较, 判断猜小了猜大了还是猜对了!如果猜对了,则输出一共猜了几次!
拓展:程序设计思路:(1)产生一个随机数作为价格。
(2)利用for循环控制猜价格机会5次, 每次输入价格,与随机价格进行比较。
(3)找到循环次数i与得分间的关系,j=sum*1-20。每猜一次,如果没猜对,得分减20.
(4)外层用do...while控制 如果想继续下一轮游戏 输入1,退出输入0.
2.万年历
程序设计思路:(1)输入要判断的年份,闰年的话满足(year%40&&year%100!=0)||(year%4000),否则为平年。
(2)输入年份和月份,判断某年某月有多少天。
(3)输入年份和月份,判断某年某月距离1900年一月一日有多少天。先算出该年距离1900年有多少天,再算几月有多少天,相加。
(4)打印某年某月的日历,调用上面一个方法算出有多少天,跟7取余+1为该月一号星期几。
3.评分系统
程序设计思路:(1)随机产生10位评委对5位同学的打分。
(2)去掉最低分和最高分。
(3)将成绩求和,算出平均值。
对完成实验内容过程中遇到的问题、解决方案以及程序的设计思路和思考等进行归纳总结。
(三)代码托管