zoukankan      html  css  js  c++  java
  • Java 实验一

    一学习总结
    1.scanner类的基本实现基本输入的方法:首先需要导入Scanner所在的包,java.util.Scanner。
    可以使用不同的next方法将输入的文本转换成不同类型的值,如:nextInt,nextBoolean。
    还要构造scanner对象,并与system.in关联,如:Scanner input=new Scanner(System.in);
    调用scanner的各种方法完成输入操作,如:int num=input.nextInt();

    import java.util.Scanner;
    
    public class Test {
        public static void main(String args[]) { 
            String gchar= new String();
            Scanner input = new Scanner(System.in);
            System.out.println("nextLine方式接收:");
            gchar=input.nextLine();
            System.out.println(gchar);
        }     
    }
    
    1. Random类
      实现的随机算法是伪随机,也就是有规则的随机,
      它的随机方法是设定随机种子的。
      Math类 此方法就是调用的Random类的nextDouble()方法。
      math的random只能获得一个随机数
      Math类的random方法使用比较方便,不需要导包、创建对象。
            public class RandomNum{
                public static void main(String[] args){
                        Random r1 = new Random(100);//第一个Random对象r1,随机种子100
                        Random r2 = new Random(100);//第二个Random对象r2,随机种子100
                        System.out.println("r1产生的值:"+r1.nextInt());
                        System.out.println("r2产生的值:"+r2.nextInt());
                        System.out.println("Math.random产生的值:"+(int)(Math.random()*100));
    }
    }
    
    

    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.math.BigDecimal类,查阅JDK帮助文档或教材p378,对上述程序进行修改。

    import java.math.BigDecimal;
    import java.math.MathContext;
    public class Test {
           public static void main(String args[]) { 
               BigDecimal a = new BigDecimal(0.1);
               BigDecimal b = new BigDecimal(0.1);
               BigDecimal c = new BigDecimal(0.1);
                if(a.add(b).add(c).round(new MathContext(1)).equals(new BigDecimal("0.3"))){
                    System.out.println("等于0.3");
                }else {
                    System.out.println("不等于0.3");
                }
            }
        }
    

    以上程序输出结果为:等于0.3
    4.本次学习要点中其他需要总结的内容:因人而异,根据自己的学习情况,记录难掌握或难理解的内容,以及学有心得的内容。还存在哪些问题,也可以提出来,对于同学在博客中提出的问题,大家可以积极讨论,互帮互学。
    二、实验总结
    1.看商品猜价格
    程序设计思路:
    1.产生一个随机数的函数,给出价格
    2.输入成绩
    3.使其与产生的随机数比较(最多10次)
    4.在十次内两数相等,则输出价格和输入次数,否则直接输出价格
    2.万年历
    程序设计思路:
    1.判断是否是闰年
    2.写出每月天数
    3.计算出要输入的年月与1990年1月1日相距多少天
    4.输出要输出的月份日历
    3.评分系统
    程序设计思路:
    1.输入十位评委分别为五位选手的评分
    2.写出求每位选手的得分的最大值 最小值 和 平均数的方法
    3.为最终的得分按降序排序
    问题:排序方法
    解决:可直接用升序排序的方法,然后倒着输出。
    三、代码托管

  • 相关阅读:
    C struct的内存对齐
    C++ 继承、函数重载
    C++ 操作符重载
    C中入栈顺序和运算顺序有关系吗?
    Java 关于finally、static
    C++ 类的复制控制
    Linux中vi的使用
    C++ 类的头文件、实现、使用
    (web)个人项目(挖宝网)
    MariaDB使用enum和set
  • 原文地址:https://www.cnblogs.com/wei-1249700655/p/8598060.html
Copyright © 2011-2022 走看看