Java第一次作业——Java语言基础

《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周 | | |
————————————————————————————————————

原文地址:https://www.cnblogs.com/HQY110/p/6580213.html