java的第一次作业
(一)学习总结
1.Scanner 的基本输入方法
(1) next()的方法
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
System.out.print("输入数据:");
String str=scan.next();
System.out.println("输入的数据为:"+str);
}
- 在键盘上直接输入数据,但是输入的数据不可以有空格,例:
输入数据 helloworld,输出的数据为helloworld.
-如果输入的数据 hello world,输出的则是hello;
- 若想输出的是hello world,在Scanneer scan=new Scanner(system.in)下输入scan.useDelimiter(“ ”) 即
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
scan.useDelimiter("
");
System.out.print("输入数据:");
String str=scan.next();
System.out.println("输入的数据为:"+str);
}
(2)nextInt是输入整型数据。
(3)nextDouble是输入浮点型数据。
(4)nextLine是输入一行数据。
2、Random是在一个指定的范围内产生随机数
import java.util.Random;
public class RandomDemo01 {
public static void main(String[] args){
Random r=new Random();
for (int i=0;i<10;i++){
System.out.print(r.nestlnt(100)+" ");
}
}
}
在不大于100的这个范围内产生10个随机数。
Math类中的Random主要是用于
- 四舍五入,是针对一个数的命令。
Public static void main(string[] args){
system.out.print(“四舍五入:”+Math.random(23.6))
}
Math类中的这个应用是对23.6四舍五入输出结果24.
- Math中Random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.
代码:(int)(Math.random()*50) + 50)
- (1)刚刚接触Java语言,觉得Java和C语言有很多相似之处,但是Java语言比c更简洁,有Java写程序错误提示是比C语言更清楚。
(2)Java的运行原理:Java是一门编译解释型语言,我们写好的Java型语言经编译后生成.class的文件,在jvm上解释运行,Java程序才能运行起来
(3)string内容的比较:Int类型比较可以用"=="比较,字符型的则要用equals比较,例str.equals(str2).
(4)基本数据类型:byte、short、int、long、float、double、char、boolean。
(二)实验总结
1.猜价格
- 程序设计思路:让系统自己产生一个随机数,然后输入数据猜测,判断是否与随机数相等,如果猜对了输出猜了几次和价格,如果猜错了输出猜大了还是小了。超过十次,输出价格。
- 实验问题分析:
问题1:只猜了9次就输出价格
解决方案:循环没控制好,i<=10;
问题2:产生的随机数不在100以内;
解决方案:a=1+r.nextInt(100);扩大100倍,math产生的随机数是在0到1之间。
扩展
- 程序设计思路:先产生随机数,输入猜测的数据,如果在5次内猜对了,用switch语句判断赢得的分数;如果才错了,提示猜大还是小了,猜错提示是否继续,如果不继续,跳出语句输出爱了几次和所得分数。如果超过5次,输出价格。
-实验问题分析:
问题1:提示了是否继续 不能输入
解决方案:添加 str1=in.next()语句。
问题2:不继续执行,输出分数和次数后,仍提示输入数据。
解决方案:添加break语句,跳出。
- 3
嵌套判断。
3.算星期几
- 程序设计思路:分别输入年份,月份,和几号。用循环求输入的年份据1900年一共多少天,同时判断是闰年还是平年。在计算输入的月份一共有多少天,需要判断是不是闰年,决定2月的天数。最后加上这月的天数求总的天数,和7求余,余几就是星期几。整除就是星期日。
-实验问题分析:
问题1:直接用的日期型输入 ,后面的没法判段。
解决方案:
问题2:每年的天数加起来都是1年的。
解决方案:求年数和的语句写在循环里。
(三)[代码托管https://git.oschina.net/hebau_cs15/Java-CS01yxr.git] (https://git.oschina.net/hebau_cs15/Java-CS01yxr.git)
(四)学习进度条
代码行数(新增/累积) | 学习时间(新增/累积) | 本周学习内容 | |
---|---|---|---|
目标 | 5000行 | 300小时 | |
第2-4周 | 300/300 | 30/30 | 学习了string类scanner类随机数产生的两种方法 |
第5周 | |||
第6周 |