วันเสาร์ที่ 21 กันยายน พ.ศ. 2556

      โปรแกรมแสดงผลการแปลงปีศักราชต่างๆ

   สำหรับในบทความนี้จะเป็นการกล่าวถึงโปรแกรม  eclipse  ที่จะนำมาเขียนโค้ดให้โปรแกรมสามารถอ่านได้แล้วแสดงผลจากการอ่านออกมา ซึ่งเราต้องรู้จักก่อนว่า eclipse คืออะไร


Eclipse คือ โปรแกรม IDE ที่ใช้สำหรับช่วยนักพัฒนาโปรแกรมให้สามารถทำอะไรได้สะดวกสบายมากยิ่งขึ้นซึ่ง ณ ปัจจุปัน โปรแกรม Eclipse นี้รองรับภาษา Java, php, C/C++, JavaScript และยังสามารถลง plugin เพิ่มเติม เช่น Google plugin for Eclipse และอื่นๆ อีกมากมายซึ่งจะช่วยให้เราสามารถทำอะไรได้ง่ายขึ้นและรวดเร็วมากขึ้น ดังรูป

                                                                   

หน้าตาตอนเปิดโปรแกรม

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


ศักราช (era) :  ช่วงเวลาที่จัดตั้งขึ้นตามการอ้างอิงของช่วงเวลานั้น โดยแบ่งได้ตามการอ้างอิงหรือการเรียก เช่น

พุทธศักราช (พ.ศ.) : เริ่มนับเมื่อพระพุทธเจ้าเสด็จดับขันธ์ปรินิพพาน เมื่อวันเพ็ญ เดือน 6 ปีจอ 


                      

                คริสต์ศักราช (ค.ศ.) : เริ่มนับตั้งแต่ พ.ศ. 543 โดยนับปีที่พระเยซูคริสต์ประสูติ เป็น ค.ศ. 1 
                                            
                  มหาศักราช (ม.ศ.) : เริ่มตั้งแต่ พ.ศ. 621 พระเจ้ากนิษกะของอินเดียทรงตั้งขึ้น 

      ฮิจญ์เราะหฺศักราช (ฮ.ศ.) : เริ่มตั้งแต่ พ.ศ. 1165 เมื่อปีที่ท่านนบีมุฮัมมัดอพยพจากเมืองเมกกะ (มักกะหฺ) ไปยัง
                                                    เมืองเมดีนา(มะดีนะหฺ) 

                   จุลศักราช (จ.ศ.) : เริ่มตั้งแต่ พ.ศ. 1181 ปี โดยนับเอาวันที่พระพม่า นามว่า "บุพโสระหัน" สึกออกมา
                                                  เพื่อชิงราชบัลลังก์
                                               
          รัตนโกสินทรศก (ร.ศ.) : เริ่มใช้ในรัชกาลที่ 5 โดย "เริ่มนับ" ตั้งแต่ พ.ศ. 2325 อันเป็นปีที่พระบาทสมเด็จ
                                                   พระพุทธยอดฟ้าจุฬาโลกทรงสร้างกรุงเทพมหานคร (เลิกใช้ในรัชสมัยพระบาท
                                                   สมเด็จพระมงกุฎเกล้าเจ้าอยู่หัว)

        ศักราชจุฬามณี (ศักราชกฎหมาย)
       
                        *** ศักราชทุกชนิดไม่มีศักราช 0 เช่น ก่อนค.ศ. 1 คือ 1 ปีก่อนคริสตกาลเป็นวิธีนับแบบปูรณสังขยา 
ยกเว้น พุทธศักราชที่นับอย่างไทย เป็นการนับแบบปกติสังขยา เป็นต้น

             พอเรารู้ข้อมูลปีศักราชพอสังเขปแล้วก็ถึงช่วงที่เรามาเริ่มการคำนาณแปลงศักราชโดยใช้โปรแกรม eclipse กันดีกว่าครับ มาดูกันเลยครับว่าหน้าตาโปรแกรมจะเป็นยังไง



ตัวอย่างโปรแกรม

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class ChangeYears{

       public static void main(String[] args) {
              String  x  = ""; 
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  
              System.out.println("Welcome");
      
              System.out.println("Please Enter Buddist Era");
   

   
              int year ;
              int b = 0;
              int c = 0;
              int d = 0;
              try{

                     x =  br.readLine();
   
              }

              catch (IOException e){
                     System.out.println("Error!"); }

              year= Integer.parseInt(x);
                     b=year-543;
                     c=year-1181;
                     d=year-2325;

              System.out.println(" A.D. is  "+b);
              System.out.println(" Minor Era is  "+c);
              System.out.println(" Rattanakosin Era is  "+d);

       }
}

โปรแกรมจะแสดงผลออกมาเป็น :


Welcome
Please Enter Buddist Era
2550
A.D. is  2007
Minor Era is  1369
Rattanakosin Era. is  225


เรามาดูกันเลยดีกว่าว่าแต่ละส่วนคืออะไร


  1.  import java.io.BufferedReader;

    import java.io.IOException;
    import java.io.InputStreamReader;

    คือ import จะเป็นการบอกว่าเราจะนำเอาโปรแกรมอะไรมาใช้
   


 2. public class ChangeYears

    คือ การประกาศชื่อคลาสของเรา ซึ่งในที่นี้ชื่อคลาสคือ ChangeYears 

        *** ในแต่ละโปรแกรมจะต้องมี public class 1 คลาส


 3.  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

      ในส่วนนี้จะเป็นการเก็บข้อมูลสำหรับรับค่าที่จะแสดงผ่านคีย์บอร์ด


 4.  System.out.println("Welcome");
      
     System.out.println("Please Enter Buddist Era");

     ในส่วนนี้จะเป็นการแสดงข้อมูลในตัวแปร new ในข้อที่ 3


 5.  int year ;
     int b = 0;
     int c = 0;
   
      ในส่วนนี้ของโปรแกรมจะมีการประกาศตัวแปรชื่อ year , b , c โดยกำหนดให้เป็นตัวแปรที่เก็บ
    ข้อมูลชนิดจำนวนเต็ม(Integer) ซึ่งใช้ตัวย่อว่า int ที่สามารถเป็นจำนวนเต็มบวกและจำนวนเต็มลบได้ 
    นอกจากนี้ยังมีการกำหนดค่าเริ่มต้นให้กับตัวแปร b , c ให้มีค่าเท่ากับ 0


 6.  try{x =  br.readLine();}

      คือ คำสั่งเพื่อระบุบล็อกของชุดคำสั่งโปรแกรมหลักภายใน ที่สามารถเลี่ยงและทิ้งความผิดพลาดของชุด
    คำสั่งโปรแกรมนั้นได้


 7.  catch (IOException e){
          System.out.println("Error!"); }

       คือ คำสั่งที่จะใช้ร่วมกับ try{x =  br.readLine();} เพื่อระบุบล็อกของชุดคำสั่งโปรแกรมสำรอง
     ที่จะสามารถจัดการกับเหตการณ์ความผิดพลาดที่เกิดขึ้นจากบล็อกของชุคำสั่งโปรแกรมหลัก ( try{x =      br.readLine();} )


 8.  year= Integer.parseInt(x);
        b=year-543;
        c=year-1181;
  
        คือ การแปลงค่าของ x ไปสู่การประการตัวแปรชื่อ year ที่เป็นชนิดของข้อมูล (int)  
           ส่วนตัวแปร b , c จะเป็นการบอกค่าว่าตัวแปร b , c นั้นมีค่าเท่าไหร่จากการคำนวณ


  9. System.out.println("A.D. is  "+b);
     System.out.println("Minor Era is  "+c);

        เป็นการแสดงค่าของศักราชต่างๆออกมาทางหน้าจอ


 10.  Welcome
           Please Enter Buddist Era
              2550
           A.D. is  2007
           Minor Era is  1369

               ในส่วนนี้จะเป็นการแสดงผลโดยการที่เรา Run โปรแกรมนี้ขึ้นมาในตอนแรกจะมีคำว่า  Welcome กับ 
           Please Enter Buddist Era แล้วจะมีที่ว่างให้เรากรอกปีที่เราอยากรู้ลงในตัวอย่างนี้คือ 2550 
          แล้วก็กด Enter เราก็จะได้A.D. is  2007 กับ Minor Era is  1369 ซึ่งจะเป็นการบอกว่า
             คริสต์ศักราช 2007 จะตรงกับพุทธศักราช 2550  และจุลศักราช 1369 จะตรงกับพุทธศักราช 2550
               




ขอขอบคุณที่ติดตาม