码迷,mamicode.com
首页 > 编程语言 > 详细

《Java技术》第一次作业

时间:2018-03-18 22:33:27      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:行修改   帮助   改进   lan   rand   输出   执行   结果   code   

(一)学习总结 1.在java中通过Scanner类完成控制台的输入,查阅JDK帮助文档,Scanner类实现基本数据输入的方法是什么?不能只用文字描述,一定要写代码,通过具体实例加以说明。 要引入包import java.util.Scanner;,使用不同的 next 方法将得到的标记转换为不同类型的值。 程序执行到这些next 方法时都会造成堵塞,等待用户在命令行输入数据回车确认

import java.util.Scanner;
public class Cdd {
public static void main(String[] args) {
    Scanner input=new Scanner(System.in);
    System.out.print("请输入一个数:");
    int a=input.nextInt();
    System.out.println("输入的数为:"+a);}
}

2.Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别,各有什么特点呢?查阅JDK帮助文档,并举例加以说明。 random()方法是java.lang.Math的方法,作用是返回大于等于 0.0 且小于 1.0的 double 值, Random类是一个类(java.util.Random),里面含有很多方法.

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");
        }
    }     
}

为了处理精度损失的问题,可以使用java.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。 改进后

import org.omg.CORBA.PUBLIC_MEMBER;

public class Cdd {
    public static void main(String args[]) { 
        double a = 0.1;
        double b = 0.1;
        double c = 0.1;
        if(add( a, b, c ) == 0.3){
            System.out.println("等于0.3");
        }else {
            System.out.println("不等于0.3");
        }
    }     
    public static double add( double d1, double d2, double d3 ) {
    	BigDecimal b1 = new BigDecimal( Double.toString(d1) );
    	BigDecimal b2 = new BigDecimal( Double.toString(d2) );
    	BigDecimal b3 = new BigDecimal( Double.toString(d3) );
    	return b1.add( b2 ).add( b3 ).doubleValue();
    }
}

4.java中许多和C类似的地方,但是java中对数据对方法的使用要比C更灵活更方便。

(二)实验总结 1.看商品猜价格 程序设计思路:通过赋给一个int型变量随机数作为商品价格,利用循环语句来对商品价格进行多次猜测,利用break语句跳出循环; 2.万年历 程序设计思路:判断闰年,判断输入年份与1900年差多少天,闰年2月是29天,而平年是28天,利用天数%7+1,可以判断出当前月份的1号是周几,接着就可以打印出当前年份当前月份的日历; 3.评分系统 程序设计思路:创建一个二维数组保存选手的分数,利用二重循环与随机数来给选手打分,求出各个选手分数的最大值与最小值,将其赋值为0,求平均分时除8即是选手平均分,接着顺序输出即可;

(三)代码托管 码云提交历史截图 技术分享图片

《Java技术》第一次作业

标签:行修改   帮助   改进   lan   rand   输出   执行   结果   code   

原文地址:https://www.cnblogs.com/UUZsama/p/8597660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!