java第一次作业
《Java技术》第一次作业
(一)学习总结
1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。
可以通过Scanner函数直接输入参数的形式,来实现输入语句。
Scanner input1 =new Scanner(System.in);
System.out.print("请输入年份:");
int a =input1.nextInt();
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
Math.random()返回的只是从0到1之间的小数,如果要50到100,就先放大50倍,即0到50之间,这里还是小数,如果要整数,就强制转换int,然后再加上50即为50~100.例如:
(int)(Math.random()*50) + 50
Random类产生的随机数,在其最大值范围内,按照概率均匀分布的。也就是说,两个种子数相同的Random对象,第一次生成的随机数字完全相同,第二次生成的随机数字也完全相同。
public class randomnum {
public static void main(String[]args){
random r1=new random(100);
random r2=new random(100);
System.out.print("r1产生的值":+r1.nextInt);
System.out.print("r2产生的值":+r2.nextInt);
}
}
3.通过对java的学习知道学习java也需要很多c语言的基础,也知道自己 c语言的基础 并不好,能完成此次作业,同学也给了我很多帮助。
java中有好多定义变量跟c不一样,例如boolean返回值为TRUE和FALSE。
(二)实验总结
1.猜数游戏
-
程序设计思路:先定义产生一个随机数,在定义一个变量,然后进行比较
-
实验问题分析:
问题1:随机数产生错误
原因:未了解定义随机数的方法
解决方案:import java.util.Random; public class caidaxiao { public static void main(String[]args){ Scanner input=new Scanner(System.in); Random b=new Random(); int a; a=b.nextInt(100); } }
1.万年历
-
程序设计思路:
public static boolean isLeap(int year) public static int days(int year,int month) public static int totalDays(int year,int month) public static void printCalender(int year,int month)
设计这几个函数,第一个是判断是否是闰年,判断条件
(year%400==0)||((year%100!=0)&&(year%4==0))
第二个输出每月几天 ,二月比较麻烦,要调用上一个函数
if(month==2){
if(isLeap(year)){return 29;}
else return 28;
}
第三个计算总天数,调用之前两个函数计算
最后输出
-
实验问题分析:
问题1:总天数计算错误
原因:if(isLeap(year)){todaldays+=366;} else {todaldays+=365;}
这样写如果输出2017年则只会判断2017是否为闰年。
解决方案:
if(isLeap(i)){todaldays+=366;}
else {todaldays+=365;}
(三)[代码托管]https://git.oschina.net/hebau_cs15/hebau-cs01cyl.git
- 码云commit历史截图
(四)学习进度条
代码行数(新增/累积) | 学习时间(新增/累积) | 本周学习内容 | |
---|---|---|---|
目标 | 5000行 | 300小时 | |
第2-4周 | 300/300 | 30/30 | 学习了定义变量的类型和生成随机数 |
第5周 | |||
第6周 |