วันจันทร์ที่ 23 กุมภาพันธ์ พ.ศ. 2558

การใช้ switch-case ด้วย Java

          switch-case เป็นคำสั่งให้โปรแกรมเลือกทำงานจากหลายทางเลือก ในแต่ละทางเลือกจะมีการกำหนดเงื่อนไขของแต่ละทาง โดยจะตรวจสอบเงื่อนไขแต่ละทางเลือก หากพบว่าทางเลือกใดมีเงื่อนไขเป็นจริง จะทำงานที่ชุดคำสั่งภายในทางเลือกนั้น โดยไม่พิจารณาทางเลือกอื่นที่ยังไม่ตรวจสอบ ซึ่งมีรูปแบบดังนี้



          switch (expression){          
               case list_value_1;
                    statements_1;
                     break;
               case list_value_2;
                    statements_2;
                    break;
                    :
                    :
               case list_value_n;
                    statements_n;
                    break;
               default :
                    statements
          }



โดยที่ expression  เป็นนิพจน์ที่ต้องตรวจสอบว่าตรงกับ list_value ใด เพื่อจะได้ทำงานภายใต้คำสั่ง list_valueนั้น
         list_value  เป็นค่าข้อมูลที่ใช้ตรวจสอบกับ expression
         statements_n  เป็นชุดคำสั่งที่จะทำงานเมื่อ list_value นั้นมีค่าเท่ากับ expression

         statements  เป็นชุดคำสั่งที่จะทำงานเมื่อไม่มี list_value ใดมีค่าเท่ากับ expression

          ตัวอย่าง โปรแกรม switch-case โจทย์ เขียนโปรแกรมคำนวณค่างวดรถยนต์ โดยให้ป้อนข้อมูลรถยนต์ดังนี้
          1.ราคารถยนต์                 2.เงินดาว์ (%)            
          3.เงินดาว์ (บาท)             4.เหลือยอดที่ต้องผ่อนชำระ
          5.เลือกระยะเวลาในการผ่อน
              (1) ผ่อน 36 งวด      ดอกเบี้ย 1.25%
              (2) ผ่อน 48 งวด      ดอกเบี้ย 1.75%
              (3) ผ่อน 60 งวด      ดอกเบี้ย 2.25%
              (4) ผ่อน 72 งวด      ดอกเบี้ย 2.75%
              (5) ผ่อน 84 งวด      ดอกเบี้ย 3.00%
          6.แสดงยอดเงินที่ต้องผ่อนชำระ/เดือน



import javax.swing.JOptionPane;
class TestSwitch {
   public static void main (String[] args) {
      double price,down,down_b,balance_b;
      double interest,paid_m,month;
      int choice;
      price=0;balance_b=0;interest=0;month=0;
      String input;
      System.out.println ("The Program applies to Toyoya car");
      System.out.println ("----------------------------------");
      input=JOptionPane.showInputDialog("The car price :");
      price=Double.parseDouble(input);
      input=JOptionPane.showInputDialog("Down Payment(%) :");
      down=Double.parseDouble(input);
      down_b=(price*(down/100));
      JOptionPane.showMessageDialog(null,"Down Payment ="+down_b+" baht");
      balance_b=price-down_b;
      JOptionPane.showMessageDialog(null,"Baance to be pay ="+balance_b+" baht");
      System.out.println ("1. 36 months/interest 1.25");
      System.out.println ("2. 48 months/interest 1.75");
      System.out.println ("3. 60 months/interest 2.25");
      System.out.println ("4. 72 months/interest 2.75");
      System.out.println ("5. 84 months/interest 3.00");
      input=JOptionPane.showInputDialog("Select  Number  1,2,3,4,5 :");
      choice = Integer.parseInt(input);
      switch(choice){
         case 1 : month=36;interest=1.25;
       break;
         case 2 : month=48;interest=1.75;
         break;
         case 3 : month=60;interest=2.25;
         break;
         case 4 : month=72;interest=2.75;
         break;
         case 5 : month=84;interest=3.00;
         break;
         default:
      JOptionPane.showMessageDialog(null,"Yout  select  is  not 1,2,3,4,5");
      }
      paid_m=((((balance_b*interest)/100)*(month/12))+balance_b)/month;
      JOptionPane.showMessageDialog(null,"Payment "+paid_m+" baht/mounth");
   }//end main
}//end class



OUTPUT

1.เมื่อรันโปรแกรม จะขึ้นได้อะล๊อคบ๊อคขึ้นมา ให้ใส่ราคารถยนต์ แล้วกดตกลง



2.ใส่จำนวนเปอร์เซ็นต์เงินดาว์ลงในไดอะล๊อคบ๊อก




3.จากนั้นไดอะล๊อคบ๊อกจะโชว์ยอดเงินดาว์เป็นจำนวนเงินบาท




4.จากนั้นไดอะล๊อคบ๊อกจะโชว์ยอดเงินคงเหลือที่ต้องชำระ  




5.หน้าจอจะโชว์ระยะเวลาในการผ่อน ให้ใส่เลข 1,2,3,4, หรือ 5 ลงในไดอะล๊อคบ๊อก




6.จากนั้นไดอะล๊อคบ๊อกจะโชว์ยอดเงินที่ต้องชำระ/เดือน



          ข้อสังเกตุ จากโปรแกรม คำนวณคำนวณค่างวดรถยนต์ ได้เพิ่ม กล่องข้อความหรือไดอะล๊อคบ๊อกเข้ามา โดยใช้คลาส JOptionPane ประเภทของไดอะล๊อคบ๊อกในคลาส JOptionPane นั้นมีสองชนิดคือ
          - Message Dialog เป็นไดอะล๊อคบ๊อกใช้แสดงข้อความมีปุ่ม OK ให้กด
          - Input Dialog เป็นไดอะล๊อคบ๊อกใช้แสดงข้อความ และมีช่องสำหรับใส่ข้อมูลเข้าไปเรียกว่าอินพุต มีปุ่ม OK และ Cancelled ให้กดเพื่อรับข้อมูล เข้าไป
ในการใช้งาน คลาส JOptionPane จะต้องเรียกแพ็คเก็จที่เก็บคลาสนี้ขึ้นมาด้วย ซึ่งทำได้โดย import javax.swing.JOptionPane;

          ถ้าต้องการแสดงไดอะล๊อคบ๊อก ที่ใช้แสดงข้อความจะต้องเรียกใช้เมธอดดังตัวอย่างต่อไปนี้



     JOptionPane.showMessageDialog(null,"ข้อความที่ต้องการโชว์");     


          แต่ถ้าต้องการไดอะล๊อคบ๊อกที่เป็นอนพุต จะต้องสร้างออบเจ็กต์แบบสตริงขึ้นมาเพื่อใช้รับข้อมูลนั้น ดังตัวอย่างต่อไปนี้



     String input;
     input=JOptionPane.showInputDialog("The car price :");     


          

0 ความคิดเห็น:

แสดงความคิดเห็น