《Java技术》第一次作业
学习总结
1.Scanner类实现基本数据输入方法
Scanner input=new Scanner(System.in);
int num = input.nextInt();
定义Scanner类,输入数
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?
1)直接调用Math.random()是产生一个[0,1)之间的随机数,如果用
import.java.util.Random;
random=new Random();
random.nextInt();
这样产生一个长整型的随机数并且与上一次是一样的,如果过一会再产生就不会一样了,例如:
for(n=0;n<100;n++){
Random rand = new Random();
p=rand.nextInt(100);}
就是产生不同的随机长整数了。
2) 使用Math类的random方法产生一个随机数,将其转换为字符串,取小数点后三个 字符,得到一个“0.xxx”的字符串,再将其转换成double型,对这个数据进行相关计算,使其取值范围在0~~200之间,最后分别调用Math 类的ceil、floor 、sqr等方法,并显示结果
import java.lang.Math;
import java.text.DecimalFormat;
import java.util.Random;
public class Mathtest { /** * 使用Math类的random方法产生一个随机数,将其转换为字符串,取小数点后三个字符, * 得到一个“0.xxx”的字符串,再将其转换成double型, * 对这个数据进行相关计算,使其取值范围在0~~200之间, * 最后分别调用Math 类的ceil、floor 、sqr。
实验总结
1.猜数游戏
-
程序设计思路:用Random类,产生随机数,用for循环,猜10次,循环10次,输入一个数与产生的随机数进行比较
-
实验问题分析:
-
问题1:循环不能终止
原因:没有写break
解决方案:在最后写上break
问题2:循环体内不能输入数
原因:输出语句写在了循环体的外面
解决方案:写在循环体里面
2.万年历 -
程序设计思路:1.已知1999年1月1日是星期一,1 % 7 = 1 对应的是星期一,2 % 7 = 2 对应的是星期二,以此类推;
2.计算当年以前所有天数+当年当月1号之前所有天数;
a.年份分平年闰年,平年365天,闰年366天;
b.闰年的判断方法year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)若为真,则为闰年否则为平年;
c.定义平年/闰年,包含各月天数; -
实验问题分析:
-
问题1:闰年天数少一天
原因:闰年2月有29天解决方案:利用循环添加 num=num+1;
代码托管
学习进度条
|--------- | 学习时间 | 本周学习内容 | 代码行数 |
| -------- | -----: | :----: |
| 目标 | 300 | |4000
| 第2-4周 | 100| 随机,求和,等值,布尔型变量的基本的用法|2000
| 第5周 | | |
| 第6周 | | |
————————————————————————————————————