第一次Java作业试验报告

第一次Java作业试验报告

(一)学习总结

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

import java.util.*;
public class Q123 {
    public static void main(String[] args) {
            int a;
            Scanner in=new Scanner(System.in);
            a=in.nextInt();
            System.out.println(a);
}

事实上,由于Java属于面向对象的语言,标准输入流(System.in)的调用并不常见。如果要从控制台输入数据,则如上创建Scaaner型变量进行使用。

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。

在生成随机数上,Math类可以在限定范围内生成随机数,也可以生成随机字符等,Random()在直接使用时是以当前时间即System.currentTimeMillis()做为发生器的种子来生成随机数,也可以使用其它种子。

Math类:

int x=(int)(Math.random()*x+y);

则产生一个x-y之间的数。
Random类:
Random rand = new Random();
int x=rand.nextInt(x)+y;
则产生一个x-y之间的数。

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

public class Q123 {
    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");
        }
    }     
}

输出结果是不等于0.3,因为在计算double类型数据时会产生精度损失。
比较两个double类型的数据相等时,其原理是看二者相减是否无限趋近于0。

(二)实验总结

实验内容:

码云根目录链接(HTTPS)
SSH:git@gitee.com:ddd222game/java-hebau.git;

1.看商品猜价格

码云链接
样例图片:

鉴于随机性太强,实在猜不着......
程序设计思路:以Random类随机数来完成价格的生成,以简单的循环与选择框架完成。
有关随机数的事如上文所言。
问题:无

2.万年历

码云链接
样例图片:

这个其实也没啥大问题,主要是换了编译器之后和windons自己的控制台比例不一样,排版有点麻烦。
程序设计思路:利用原始的数据推算出对应的年份日历,以分支结构囊括所有情况。
问题:无

3.评分系统

码云链接
样例图片:

繁杂的输入画面就先免了吧,纯粹人工随机的评分。
程序设计思路:鉴于Java没有结构体,采用双数组同步记录编号和平均分的方式,进行排序以及输出。
问题:无

试验总结

总的来说,作为面向对象的语言,Java很多地方都和cpp系列有极大的不同。但是,无论工具如何,算法始终是一个程序的灵魂与基础,从这一点上来讲,这两者并无大的区别。当然,Java在习惯之后似乎更加方便一些。以上。

(三)代码托管

posted on 2018-03-18 21:51  wxc123  阅读(169)  评论(0编辑  收藏  举报

导航