• Java 02 课后作业


    第一题:

    //在消息框中输入两个数,并用消息框显示出两个数的加减乘除的结果
    
    import javax.swing.JOptionPane;
    
    public class Calculator {
        public static void main(String args[])
        {
            String firstNumber,secondNumber;
            int number1,number2,sum,minus,plus,divide;
            
            firstNumber=JOptionPane.showInputDialog("请输入第一个数字:");
            secondNumber=JOptionPane.showInputDialog("请输入第二个数字:");
            
            number1=Integer.parseInt(firstNumber);
            number2=Integer.parseInt(secondNumber);
    //计算出两个数字的加减乘除的结果        
            sum=number1+number2;
            minus=number1-number2;
            plus=number1*number2;
            divide=number1/number2;
            
            JOptionPane.showMessageDialog(null,"两个数的和为:"+sum
                                                +","+"两个数的差为:"+minus
                                                +","+"两个数的积为:"+plus
                                                +","+"两个数的商为:"+divide,"结果",JOptionPane.PLAIN_MESSAGE);
    
            System.exit(0);
        }
    }

    第二题:

    ①EnumTest.java结果:

    False

    False

    True

    SMALL

    MEDIUM

    LARGE

    第一个结果是在比较两者是否相同,第二个是判断是否为基本类型,第三个是赋值并进行比较,后面三个是将所有数值一次输出的结果。

    enum可用来创建一个枚举类型,枚举类型属于引用类型,枚举不属于原始的数据类型,每个具体值都会引用枚举里的一个对象,可使用“==”和“equals()”来判断两个值是否相等。

    ②在计算机内,定点数有3种表示法:原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。

    所谓原码就是二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。

    反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。

    补码表示法规定:正数的补码与其原码相同;负数的补码是在其反码的末位加1。

    同名变量的屏蔽原则,就是指变量的会根据离他最近的赋值来获得数值,而关系较弱,相距较远的赋值会不起作用。

    ③Double得到的结果不精确,主要归因于浮点数在计算中的表示方法,浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示某个实数,这个实数由有一个整数或定点数乘以某个基数的整数次幂得到,无法精确地保存浮点数字实际的大小。

    解决方法:可以使用java.math.BigDecimal来计算,使用其中的加减乘除的函数,得到的结果会更加精确一些,除法除不尽的话,会保留10位后进行四舍五入。

    int X=100;

    int Y=200;

    System.out.println("X+Y="+X+Y);

    System.out.println(X+Y+"=X+Y");

     的结果为:

    X+Y=100200

    300=X+Y

    第一个输出,只是单纯的将数字和字符串拼接在一起,没有别的含义,而第二个输出,输出的是“X+Y”的结果,故结果不相同。

  • 相关阅读:
    LightOJ1074(spfa+dfs标记负环及负环能够到达的点)
    (模板)AC自动机模板
    poj3660(floyd最短路)
    (模板)hdoj2544(最短路--bellman-ford算法&&spfa算法)
    hdoj4099(字典树+高精度)
    poj1056(字符串判断是否存在一个字符串是另一个字符串的前缀)
    hdoj1247(字典树)
    poj3630||hdoj1671(字典树)
    (模板)hdoj1251(字典树模板题)
    poj3348(求凸包面积)
  • 原文地址:https://www.cnblogs.com/Daddy/p/4860027.html
Copyright © 2020-2023  润新知