课上动手动脑

Addition.java

两数相加

源代码:

// 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

   }

}

感悟:通过弹出对话框的形式先后输入两个数并最后计算两数之和。。

Text Double.Java

源代码:

package 双精度;

 

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));

}

}

感悟:双精度直接使用会产生误差;

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};

感悟:


InputTest.java

/**

   @version 1.10 2004-02-10

   @author Cay Horstmann

*/

import java.util.*;

public class InputTest

   public static void main(String[] args)

   { 

      Scanner in = new Scanner(System.in);

      // get first input

      System.out.print("What is your name? ");

      String name = in.nextLine();

      // get second input

      System.out.print("How old are you? ");

      int age = in.nextInt();

     

     

    /* int i;

     String value="100";

     i=Integer.parseInt(value);

     i=200;

     String s=String.valueOf(i);*/

    

      // display output on console

      System.out.println("Hello, " + name + ". Next year, you'll be " + (age + 1));

 

     

   }

}

感悟:

通过对话框的弹出先输入姓名年龄最后输出明年此人的年龄;

RandomTest.java

源代码:

public class RandomStr

{

       public static void main(String[] args)

       {

              //定义一个空字符串

              String result = "";

              //进行6次循环

              for(int i = 0 ; i < 6 ; i ++)

              {

                     //生成一个97~122的int型的整数

                     int intVal = (int)(Math.random() * 26 + 97);

                     //将intValue强制转换为char后连接到result后面

                     result = result + (char)intVal;

              }

              //输出随机字符串

              System.out.println(result);

      }

}

感悟:通过循环产生随机数,强制转化类型产生随机的六位小写字母;


SwitchTest.java

源代码:

// Drawing shapes

import java.awt.Graphics;

import javax.swing.*;

public class SwitchTest extends JApplet {

   int choice;  

   public void init()

   {

      String input;

      input = JOptionPane.showInputDialog(

                 "Enter 1 to draw lines\n" +

                 "Enter 2 to draw rectangles\n" +

                 "Enter 3 to draw ovals\n" );

      choice = Integer.parseInt( input );

   }

   public void paint( Graphics g )

   {

      for ( int i = 0; i < 10; i++ ) {

         switch( choice ) {

            case 1:

               g.drawLine( 10, 10, 250, 10 + i * 10 );

               break;

            case 2:

               g.drawRect( 10 + i * 10, 10 + i * 10,

                           50 + i * 10, 50 + i * 10 );

               break;

            case 3:

               g.drawOval( 10 + i * 10, 10 + i * 10,

                           50 + i * 10, 50 + i * 10 );

               break;

            default:

               JOptionPane.showMessageDialog(

                  null, "Invalid value entered" );

         } // end switch

      } // end for

   } // end paint()

} // end class SwitchTest

/**************************************************************************

 * (C) Copyright 1999 by Deitel & Associates, Inc. and Prentice Hall.     *

 * All Rights Reserved.                                                   *

 *                                                                        *

 * DISCLAIMER: The authors and publisher of this book have used their     *

 * best efforts in preparing the book. These efforts include the          *

 * development, research, and testing of the theories and programs        *

 * to determine their effectiveness. The authors and publisher make       *

 * no warranty of any kind, expressed or implied, with regard to these    *

 * programs or to the documentation contained in these books. The authors *

 * and publisher shall not be liable in any event for incidental or       *

 * consequential damages in connection with, or arising out of, the       *

 * furnishing, performance, or use of these programs.                     *

 *************************************************************************/

运行截图:

Test.java

源代码:

public class Test {

public static void main(String[] args) {

       int intValue=100;

       long longValue=intValue;

       double doubleValue=1234567890;

       float floatValue=(float)doubleValue;

       System.out.println(floatValue);//1.23456794E9

      

       int X=100;

       int Y=200;

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

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

       doNotRunme();

      

       String string="";

       double d1=1000.123;

       double d2=1000.123;

       if(Math.abs(d2-d1)<1e-10){

             

       }

       //System.out.println(string);

}

public static void doNotRunme()

{

       doNotRunme();

}

}

运行截图:

TestBigDecimal.java

源代码:

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));

       }

}

运行结果:对比两种方法得出误差大小

猜你喜欢

转载自www.cnblogs.com/jinseliunian/p/9752396.html