2017《java技术》第一次作业
2017《Java技术》第一次作业
(一)学习总结
1.scanner类实现基本数据输入的方法是什么?
文本扫描类scanner使用不同的next方法得到的标记转化为不同类型的值。
获取基本类型的方法是:
nextInt():读取整型数据
nextDouble():读取双精度数据
next()—读取输入的下一个单词(空格作为分隔符)
nextLine():读取输入的 下一行内容
要先导入java.util.scanner,通过new Scanner(System.in)创建scanner。
Scanner sc=new Scanner(System.in);
int i=Sc.nextInt();
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?
Math.random()返回double类型的小数,该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。
Random()创建一个新的随机数生成器。此构造方法将随机数生成器的种子设置为某个值,该值与此构造方法的所有其他调用所用的值完全不同。
Math类中的random方法就是直接调用Random类中的nextDouble方法实现的。
package random;
import java.util.Random;
public class random {
public static void main(String[]args){
int i;
Random rand=new Random();
i=rand.nextInt(100);
System.out.println("随机产生"+i+"");
}
}
3.其他总结
String对象的内容保存在堆内存中的,在比较字符串大小等于时'=='是用来数值比较的,但有时字符串的内容相同但地址的值不同,那么要想将内容比较就需要用equals()。
(二)实验总结
1.猜商品价格:
思路:
让用户输入一个数与商品的价格比较采用if语句,因为只能猜5次所以用f or循环控制次数,用random产生商品的随机数。
问题:使用scanner出现错误没有导入java.util.Scanner,并且在输出i的 次数时直接写的是i,而不是"+i+",导致输出的是i而不是一个具体的数。
2.输出日期:
思路:
判断年:闰年和平年。月:31天和30天以及特殊的二月。星期:1+总共的 天数%7---数值一到七即。用for循环判断从1900年到用户输入的年份判断 每年有多少天并计算总共有多少天。
错误:循环体的位置总是放不对。
(三)代码托管http://git.oschina.net/hebau_cs15/Java-cs02QSM

(四)学习进度条
填写本周学习进度条。为自己设定本学期的目标,包括预计完成的代码行数,预计花多少时间在Java课程的学习上。记录自己每周完成的情况,填写下列的进度条,务必实事求是。
| 代码行数(新增/累积) | 学习时间 | 本周学习内容 | |
|---|---|---|---|
| 目标 | 4000 | 400 | |
| 第2-4周 | 300 | 30 | 学习了scanner类基本输入,random类随机数 |
| 第5周 | |||
| 第6周 |
浙公网安备 33010602011771号