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周

posted on 2017-03-19 11:13  昨夜蔷薇  阅读(426)  评论(1)    收藏  举报