9.15课程中的所有动手动脑的问题以及课后实验性的问题

发布时间 2023-09-15 18:24:24作者: 雨愈

1.动手动脑 EnumTest.java

源代码:

public class EnumTest {

    public static void main(String[] args) {
       Size s=Size.SMALL;
       Size t=Size.LARGE;
       //s和t引用同一个对象?
       System.out.println(s==t);  //
       //是原始数据类型吗?
       System.out.println(s.getClass().isPrimitive());
       //从字符串中转换
       Size u=Size.valueOf("SMALL");
       System.out.println(s==u);  //true
       //列出它的所有值
       for(Size value:Size.values()){
          System.out.println(value);
       }
    }

}
 enum Size{SMALL,MEDIUM,LARGE}

 

 2.示例 两数相加

源代码:

 


// An addition program

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

public class Addition {
   public static void main( String args[] )
   {
      String firstNumber,   // first string entered by user
             secondNumber;  // second string entered by user
      int number1,          // first number to add
          number2,          // second number to add
          sum;              // sum 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 );

      // add the numbers
      sum = number1 + number2;

      // display the results
      JOptionPane.showMessageDialog(
         null, "The sum is " + sum, "Results",
         JOptionPane.PLAIN_MESSAGE );

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

 3.变量的作用域

源代码:

package homework;

public class text01 {
    private static int value=1;

    public static void main(String[] args) {
        int value=2;
        System.out.println(value);
    }
}

 4.动手实验 TestDouble.java

源代码:

public class TestDouble {

    public static void main(String args[]) {
        System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));
        System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));
        System.out.println("4.015 * 100 = " + (4.015 * 100));
        System.out.println("123.3 / 100 = " + (123.3 / 100));
    }
}

 5.怎样处理精度损失

源代码:


import java.math.BigDecimal;

public class TestBigDecimal
{
    public static void main(String[] args)
    {
       BigDecimal f1 = new BigDecimal("0.05");
       BigDecimal f2 = BigDecimal.valueOf(0.01);
       BigDecimal f3 = new BigDecimal(0.05);
       System.out.println("下面使用String作为BigDecimal构造器参数的计算结果:");
       System.out.println("0.05 + 0.01 = " + f1.add(f2));
       System.out.println("0.05 - 0.01 = " + f1.subtract(f2));
       System.out.println("0.05 * 0.01 = " + f1.multiply(f2));
       System.out.println("0.05 / 0.01 = " + f1.divide(f2));
       System.out.println("下面使用double作为BigDecimal构造器参数的计算结果:");
       System.out.println("0.05 + 0.01 = " + f3.add(f2));
       System.out.println("0.05 - 0.01 = " + f3.subtract(f2));
       System.out.println("0.05 * 0.01 = " + f3.multiply(f2));
       System.out.println("0.05 / 0.01 = " + f3.divide(f2));
    }
}

 

 

6.动手动脑 代码的输出结果是什么

源代码:

package homework;

public class text01 {

    public static void main(String[] args) {
        int x=100;
        int y=200;
        System.out.println("x+y="+x+y);
        System.out.println(x+y+"x+y");
    }
}