• Java_实验一


    一、学习总结
    1、注意在定义变量时精度的损失问题:int到float,long到float,long到double,都有精度的损失
    2、Scanner类实现基本数据输入的方法是: import java.util.Random;
    Scanner input=new Scanner(System.in); int num =input.nextInt(); int double=input.nextDouble();
    3、Random类和Math类的random()方法都能产生随机数,这两种方式有什么区别
    Math类的random()方法:
    可以生成大于等于0.0、小于1.0的double型随机数。
    Math.random()方法语句基础上处理可获得多种类型、或任意范围的随机数。
    随机生成a~z之间的字符(char)('a'+Math.random()('z'-'a'+1));
    随机生成cha1~cha2的字符(char)(cha1+Math.random()
    (cha2-cha1+1));
    Random类生成随机数
    Java编译器以系统当前时间作为随机数生成器的种子,因为每时每刻的时间都不可能相同,所以产生的随机数也不同。如果运行速度太快,也会产生两次运行结果相同的随机数。

    4、运行下列程序,结果是什么?查阅资料,分析为什么。
    
    import java.math.BigDecimal;
    public class Test {
        public static void main(String args[]) { 
        	double a = 0.1;
            double b = 0.1;
            double c = 0.1;
        	BigDecimal a1 = new BigDecimal(a);
        	BigDecimal b1 = new BigDecimal(b);
        	BigDecimal c1 = new BigDecimal(c);
        	System.out.println(a1.add(b1).add(c1).doubleValue());
            if((a1.add(b1).add(c1).doubleValue()) == 0.3){
                System.out.println("等于0.3");
            }
            else {
                System.out.println("不等于0.3");
            }
        }     
    }
    

    这是精度的损失问题, 可以在前面加上import java.manth.BigDecimal;类,并用string构造

    二、实验总结
    1、看商品猜价格
    程序设计思路:系统产生一个随机数,即为商品的价格price,输入你猜的价格guess,进行比较,猜对了进行加分,最后输出你的分数,猜五次后可以继续也可以退出
    问题以及解决方案:
    1)、字符串的比较用str.equals()
    2)、注意局部变量附初始值

    2、万年历
    程序设计思路:输入年月查看是否为闰年,判断闰年的方法year%40&&year%100!=0||year%4000,再判断这个月是几月有多少天,输出距离1900年有多少天,先计算有闰年的个数j,(年-1900)*365+j+月的天数,输出万年历,先计算有多少天,在计算为星期几,判断这个月有几天,注意间距
    问题以及解决方案:
    1)、判断闰年时只需判断你输入的是否为闰年,不需要从1900年开始判断
    2)、在计算到1900年有几天时,for循环中的值应为i的变量值,不是year
    3)、输出万年历时,判断星期几应该是总天数加1取余7,不是月天数
    4)、注意局部变量附初始值

    3、评分系统
    程序设计思路:五个选手的所有分数应定义一个二维数组,数值可以用随机数产生,求出最大值先定义a【i】【0】为第一个进行一行的比较删除最大值,求出最小值比较最小的删除
    在求平均值时,可以定义一个一维数组将分均分放进去,在返回数组,进行排序时可用Arrays.sort()。
    . 问题以及解决方案:
    1)、再返回数组时应定义为double【】
    2)、排序有具体的方法可以调用
    3)、注意局部变量附初始值

    三、代码托管

  • 相关阅读:
    List<E> 接口简明
    equals方法的编写建议
    Set<E> 接口简明
    Map 接口简明
    Collections、Arrays 简明
    LinkedHashMap简明
    ThreadLocal应用示例
    大爽Python入门练习题 210 猜函数
    大爽Python入门练习题 21 检查五子相连
    大爽Python入门练习题 23 数字各位数求和
  • 原文地址:https://www.cnblogs.com/lr97/p/8593048.html
Copyright © 2020-2023  润新知