• Java理论学时第二节。课后作业。


    枚举不属于原始数据类型,它的每个具体值都引用一个特定的对象,相同的值则引用同一个对象。

    可以使用“==”和equals()方法直接比对枚举变量的值,换句话说,对于枚举类型的变量,“==”和equals()方法执行的结果是等价的。

    在输出中,先出现” ”的话,后面的加号被理解成字符串相加。

    ”X + Y”+ (X +Y) 与 X + Y = ”X + Y”相同。

    为什么double类型的数值进行运算得不到“数学上精确”的结果?

    这个涉及到二进制与十进制的转换问题。
    N进制可以理解为:数值×基数的幂,如十进制数为123.4=1×10²+2×10+3×(100次幂)+4×(10-1次幂)而二进制数11.01=1×2+1×(20次幂)+0+1×(2-2次幂)=十进制的3.25
    double类型的数值占用64bit,即64个二进制数,除去最高位表示正负符号的位,在最低位上一定会与实际数据存在误差(除非实际数据恰好是2n次方)。
    简单来说就是我们给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来(甚至是需要无穷多位),而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到“数学上精确”的结果。

     

     

    package Sum;
    import javax.swing.JOptionPane; // import class JOptionPane

     

    public class Addtion
    {
      public static void main(String[] args)
      {
        String firstNumber,secondNumber; // first and second string entered by user
        int number1,number2;// first and second number to add
        double sum,poor,mul,div; // sum,poor,multiply,division of number1 and number2

     

        // read in first number from user as a string
        firstNumber = JOptionPane.showInputDialog( "Enter first integer" );

     

        // read in second number from user as a string
        secondNumber = JOptionPane.showInputDialog( "Enter second integer" );

     

        // convert numbers from type String to type int
        number1 = Integer.parseInt(firstNumber);
        number2 = Integer.parseInt(secondNumber);

     

        // count the numbers
        sum = number1 + number2;
        poor = number1 - number2;
        mul = number1 * number2;
        div = number1 / number2;

     

        // display the results
        JOptionPane.showMessageDialog(null, "The sum is " + sum, "Results",JOptionPane.PLAIN_MESSAGE );
        JOptionPane.showMessageDialog(null, "The poor is " + poor, "Results",JOptionPane.PLAIN_MESSAGE );
        JOptionPane.showMessageDialog(null, "The multiply is " + mul, "Results",JOptionPane.PLAIN_MESSAGE );
        JOptionPane.showMessageDialog(null, "The division is " + div, "Results",JOptionPane.PLAIN_MESSAGE );

     

        System.exit( 0 ); // terminate the program
      }
    }

     

  • 相关阅读:
    [洛谷P3369] 普通平衡树 Treap & Splay
    [NOIp2016] 组合数问题
    [洛谷P4777] [模板] 扩展中国剩余定理
    [洛谷P3384] [模板] 树链剖分
    [NOIp2017] 时间复杂度
    [bzoj3270] 博物馆
    [USACO06DEC] Milk Patterns
    [USACO5.1] Musical Themes
    后缀数组 模板+详解
    [HNOI2004] L语言
  • 原文地址:https://www.cnblogs.com/shenshenxin/p/4859980.html
Copyright © 2020-2023  润新知