JAVA第一次作业
(一)学习总结
1.本次作业中用的最多的是Scanner类的
例如
import java.util.Scanner;
public class TextScanner{
public static void main(String [] args){
//创建Scanner对象 接受从控制台输入
Scanner input = new Scanner(System.in);
System.out.println("请输入名字:");
//接受String型
String name = input.next();
System.out.println("请输入学号");
//接受int型
int id = input.nextInt(); //什么类型next后面就接什么 注意大小写
//输出结果
System.out.println("名字为:"+name+"\t学号为:"+id);
}
}
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?
Random类的随机方法是设定随机种子的,(如:newRandom().nextInt(10)),这里的10就是随机种子,根据随机数的原理,相同随机种子在相同的随机次数中产生的随机数是一样的。
如果看Math的random方法的实现代码的话,就会发现,该方法就是调用的Random类的nextDouble()方法。
因为Math类的random方法使用较方便,不需要导包、创建对象,所以许多人习惯于使用该方法。
3.java与c、c++都有好多相似的地方,只有每次认认真真的学习才能从发现真正的区别,才能更好的学好。
(二)实验总结
1.猜数游戏
程序设计思路:利用math.random()函数调用,生成100以内的随机数。利用循环来实现5次猜数游戏的完成。每循环一次,time++,最终显示猜对所用的次数。
实验问题分析:
问题1:输入5次以后循环并没有结束
解决方案:修改if的比较
问题2:所用次数并没有显示对
解决方案:用减法+(5-time)
2.万年历
程序设计思路:
1.输出第一天之前的空格每个输出项8个空格。
2.依次输出每一天每一个输出项占8个字符宽度,即可完整的输出该月的日历。
3.如果年份小于1900年则程序不予判断。
实验问题分析:
问题1:计算当前日期到1900年1月1日的天数
解决方案:
利用switch语句来求天数
int beforeDays = 0;
for (int i = 1; i <= month; i++) {
switch (i) {
case 1: days=31;
case 3: days=31;
case 5: days=31;
case 7: days=31;
case 8: days=31;
case 10: days=31;
case 12: days=31;
break;
case 2:
if (isLeap){
days=29;
}
else{
days=28;
}
break;
default: days=30;
break;
}
if(i<month){
beforeDays = beforeDays + days;
}
}
totalDays =totalDays + beforeDays;
(三)代码托管
HTTPS地址:https://git.oschina.net/hebau_cs15/zuoye.git
(四)学习进度条
-------- | 代码行数(新增/累积) | 学习时间(新增/累积) | 本周学习内容 |
---|---|---|---|
目标 | 5000行 | 300小时 | |
第2-4周 | 250/300 | 15/15 | java的基本语法,random函数 |
第5周 | |||
第6周 |