(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?
Scanner类可以实现多种数据的输入操作,例如:字符串,数字,日期格式以及文件。但是由于我本人的原因(初学者)只掌握了字符串和数字的输入,下面集中介绍一下具体操作过程。
具体操作(一):实现字符串的输入(直接使用Scanner类的next()方法即可)
import java.util.Scanner;
public class demo{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.print("请输入数据:");
String str=scan.next();
System.out.println("输入的数据为:"+str);
}
}
注意:不能输入空格,因为Scanner将空格当做了一个分隔符,可以用"\n".
具体操作(二):实现数字的输入(与字符的输入类似)
import java.util.Scanner;
public class demo{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.print("请输入数据:");
int x=scan.nextInt();
System.out.println("输入的数据为:"+x);
}
}
注意:这是实现整型数据的输入,如果想实现浮点型的输入只需将scan.nextInt替换成scan.nextFloat即可。
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?
Random类是随机数产生类,可以指定一个随机数的范围,然后任意产生在此范围中的数字。Random类可以随机产生boolean值,double值,float值,int值,给定最大值的int值以及long值,下面举例说明一下。
实现产生10个随机数字,且数字不大于100:
import java.util.Random;
public class demo{
public static void main(String args[]){
Random r=new Random();
for(int i=0;i<10;i++){
System.out.println(r.nextInt(100)+"\t");
}
}
}
Math.random()是令系统随机选取大于等于0.0且小于1.0的伪随机double值,是JAVA语言常用代码,下面举例说明一下。
实现生成一个int类型0~100之间的随机数:
import jav.util.Random;
public class demo{
public static void main(String args[]){
int x=(int)(Math.random()*100);
System.out.println(x);
}
}
3.本次学习要点中其他需要总结的内容:
由于是新手的原因,好多方面没有深刻理解,对系统关键字(public,static,System.out.println等)的掌握还不熟练,
对Scanner类的了解也不够全面,只掌握了一部分,对Random和Math.random的理解也不太深刻,不过随着学习的深入,我相信我会变得更好!
(二)实验总结
1.猜数游戏
程序设计思路:
产生一个随机数,采用for循环重复输入。对比随机数与用户输入数,使用if判断,如果相等,使用break跳出循环,如果不相等,提示用户输入价格偏高或偏低,还有XX次机会并继续输入。
实验问题分析:
问题:产生的随机数有问题
原因:没有给Random类加限制条件
解决方案:在Random类后面加上了(100)
2.万年历
程序设计思路:
已知1900年1月1日是星期一,输入年份,月份和日期,输出这一天是星期几。
实验问题分析:
问题:显示的结果有错误
原因:总天数计算得不对
解决方案:重新写了闰年的计算方法以及把当前月的日期加上了
(三)代码托管
(四)学习进度条
- | 代码行数(新增/累积) | 学习时间(新增/累积) | 本周学习内容 |
目标 | 5000行 | 300小时 | |
第2-4周 | 200/300 | 25/30 | 学习了JAVA的输入和随机数的产生 |
第5周 | |||
第6周 |