JAVA第一次作业

(一)学习总结

1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。

package s;
import java.util.Scanner;
public class s {
	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Scanner yao = new Scanner(System.in); 
		int s = yao.nextInt();
		System.out.println("");
	}
}

在前面写Scanner的头文件import Java.util.Scanner,然后利用 yao.nextInt接收数据。
2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。
Random类产生的随机数再最大值范围内,按照概率均匀分布。
Math类的random()函数返回的值大于等于0.0小于1.0,如果为整数就强制转换为int类型

3.运行下列程序,结果是什么?查阅资料,分析为什么。

public class Test {
    public static void main(String args[]) { 
        double a = 0.1;
        double b = 0.1;
        double c = 0.1;
        if((a + b + c) == 0.3){
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }     
}

结果为“不等于0.3“
原因为在Java中浮点数的计算会出现精度丢失的问题
改正之后

public class Test {
    public static void main(String args[]) { 
        double a = 0.1;
        double b = 0.1;
        double c = 0.1;
        if((a + b + c) -0.3<1e-6)
        	{
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }     
}

4.总结
(1)Java的输入和输出和C语言都有极大的不同,刚开始写有点不熟悉,现在好点了。
(2)在Java中有些函数可以直接调用,比如排序函数Arrays.sort();
(3)输出有两种形式,一种是System.out.println();一种是System.out.printf();前者用与字符的输出,后者跟C语言的输出类似。
(4)在Java输出时字符之间的连接用“+”号

(二)实验总结

1.看商品猜价格
程序设计思路:
利用Random产生随机数,用while循环控制一共可以猜的次数,循环内竞猜价格与随机数进行比较大小,进行输出。

2.万年历
编写四个函数,
1.判断闰年:判断是否闰年的条件。
2.判断某年某月有多少天:先判断是否是闰年,再判断月份。
3.计算输入的年月距1900年1月1日有多少天 :先判断是否为闰年,该年份距1900年多少天,再判断月份为多少天,两数值和就是结果。
4.输出日历表:调用函数第三个,用天数与7取余判断本月第一天为星期几
主函数直接调用即可。

3.评分系统
因为有五位选手,十位评委,如果键盘输入要输入50个值,过于繁琐,利用随机数随机输入。将数值存在二维数组中,最后调用Arrays.sort();进行排序。

(三)代码托管

原文地址:https://www.cnblogs.com/a378/p/8586273.html