java作业---郭卫辉

<一>学习总结

1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。 scanner可以使用不同的 next 方法将得到的标记转换为不同类型的值。

nextint():用于读取整型数据
nextdouble():用于读取双精度数据
nextLine():读取输入的 下一行内容即换行
注意的是Scanner类中有nextLine()和next(),两者是有区别的,区别在于nextLine()可以读取换行符,而next()不可以。

Scanner类实现基本数据输入的方法是什么?

Scanner input=new Scanner(System.in);
int i=input.nextInt();

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?

Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
Random类产生的随机数,在其最大值范围内,按照概率均匀分布的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
public class RandomNum{
public static void main(String[] args){
Random r1 = new Random(100);//第一个Random对象r1,随机种子100
Random r2 = new Random(100);//第二个Random对象r2,随机种子100
System.out.println("r1产生的值:"+r1.nextInt());
System.out.println("r2产生的值:"+r2.nextInt());
System.out.println("Math.random产生的值:"+(int)(Math.random()*100));
}
}

3.其他总结

在这次学习中,主要学习了jdk文件里有关Randon类和Math类的random()的具体介绍。但是还是觉得自己学的不太好,要多看。

(二)实验总结

1.猜数游戏

程序设计思路:用Random类,产生随机数,用for循环来计数,输入一个数与产生的随机数进行比较。
问题1:无法用循环来进行下一轮游戏
原因:没有添加循环条件使其继续循环
解决方案:添加了一个for(;;)

2.万年历

程序设计思路:1.已知1999年1月1日是星期一,1 % 7 = 1 对应的是星期一,2 % 7 = 2 对应的是星期二,以此类推;
2.计算当年以前所有天数+当年当月1号之前所有天数;
平年365天,闰年366天。1,3,5,7,8,10,12月份都是31天,4,6,9,11月份都是30天,平年2月份28天,闰年2月份29天。
问题1:如何判断平年闰年
解决方案:if(year%4000||(year%100!=0&&year%40))
todaldays+=366; //闰年366天
else
todaldays+=365; //平年365天

(三)代码托管

链接 http://git.oschina.net/hebau_java_cs15 / java-cs02gwh1

(四)学习进度条

| 代码行数(新增/累积) 学习时间(新增/累积) 本周学习内容
|目标 5000行 300小时 ------
第2-4周 120/300 16/30 学习了Random类和Math类的random()方法
第5周 ------ ----- ------
第6周 ------ ----- ------

posted @ 2017-03-19 20:02  gwhwyx  阅读(235)  评论(0)    收藏  举报