(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
首先需要在开始导入import java.util.Scanner才能实现,这是最基本的输入整数的形式,同时需要注意的是如果输入的是字符串则用String length=input.next()
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
Random类的随机方法是设定随机种子的,(如:new Random().nextInt(10))这里的10就是随机种子,相同的随机种子在相同随机次数中产生的随机数是相同的,而Math类的random()方法是令系统产生大于等于0.0小于1.0的double值,如果想要取到一定范围的随机数就需要扩大一定的倍数。
3.运行下列程序,结果是什么?查阅资料,分析为什么。
结果为不等于0.3,这是因为计算机是以二进制存储的,而二进制无法用有限数位准确表达0.1,所以计算机的存储只是一个近似于0.1的数,而当三个数加起来精确度便又小些,所以结果为不等于0.3.
改进如下:
可以用取其近似数来确定结果。
(二)实验总结
实验内容:
1.看商品猜价格
程序设计思路:
只做了前半部分,改进部分没有运行出来,可以用while循环,之下用if,如果价格相等则跳出循环,同时如果次数大于10则直接跳出循环。
问题一:
在输入的时候不知道如何输入,之前没有接触过类似的输入,有点盲目。
解决:查阅了文档,上网百度了一些,看了一些类似的例子 。
2.万年历
程序设计思路:首先要进行平年闰年判断,来确定一年366还是365天,进而分别判断一年每月的天数,特殊情况就是2月,最后输出 万年历,这些都可以用方法实现,需要计算总天数,从1900年开始循环到输入的年份,判断月的时候从1月到输入月份总天数加起来,然后7天取余输出。
问题:总天数总是计算不对,输出的格式也不对。
解决:重新检查了代码,调用闰年的时候出现了错误,导致整个输出都错误。
3.评分系统
程序设计思路:用二维数组,两个for循环。用函数进行排序。
问题:循环不对,而且丢掉了大括号。
解决:在别人的帮助下,找到了循环的原因,括号的一部分将程序打乱了。
(三)代码托管