ภาษา Java
ภาษาจาวา เป็นภาษาโปรแกรมเชิงวัตถุที่พัฒนาขึ้นโดย “เจมส์ กอสลิง” และทีมวิศวกรของเขา ซึ่งบริษัทซันไมโครซิสเต็ม ต้องการนำภาษาจาวามาใช้แทนภาษา C++ ชื่อของ “จาวา” มาจากชื่อกาแฟที่ทีมวิศวกรของซันดื่มตอนที่ร่วมกันพัฒนาภาษาจาวาขึ้นมา Java ถูกคิดค้นและสร้างโดย บริษัท Sun Microsystems ซึ่งเป็นบริษัทผู้ขายระบบ Unix ที่มีชื่อว่า Solaris ซึ่งจุดเด่นของภาษาJava อยู่ที่ผู้เขียนโปรแกรมสามารถใช้หลักการของ Object-Oriented Programming มาพัฒนาโปรแกรมของตนด้วย Java ได้ พัฒนาขึ้นโดยทีมวิจัยของ บริษัท ซันไมโครซิสเต็ม (Sun Microsystems)พัฒนามาจากโครงการที่ต้องการพัฒนาระบบซอฟต์แวร์เพื่อควบคุมเครื่องใช้ไฟฟ้าขนาดเล็กภายในบ้านชื่อเดิมคือภาษา Oak ต่อมาเปลี่ยนชื่อเป็นภาษาจาวาภาษาจาวาเริ่มเป็นที่นิยมแพร่หลายในปี ค.ศ. 1995ภาษาจาวาเป็นภาษาที่ไม่ขึ้นกับแพลตฟอร์ม (platform independent)JDK 1.0 ประกาศใช้เมื่อปี1996JDK เวอร์ชันปัจจุบันคือ Java 2
ความหมาย
ภาษาจาวา (Java Language) คือ ภาษาคอมพิวเตอร์ที่ถูกพัฒนาขึ้นโดยบริษัท ซันไมโครซิสเต็มส์ เป็นภาษาสำหรับเขียนโปรแกรมที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุ (OOP : Object-Oriented Programming) โปรแกรมที่เขียนขึ้นถูกสร้างภายในคลาส ดังนั้นคลาสคือที่เก็บเมทอด (Method) หรือพฤติกรรม (Behavior) ซึ่งมีสถานะ (State) และรูปพรรณ (Identity) ประจำพฤติกรรม (Behavior)
1.การติดตั้งโปรแกรม Java
ในที่นี้ผมจะใช้ JDK1.6.0_06
1. เมื่อดาวน์โหลดโปรแกรมจากเว็บไซต์ของสำนักงานฯ แล้วให้ดับเบิ้ลคลิกที่ไฟล์ คลิกที่ Run
2. จะมีหน้าต่างให้ยอมรับลิขสิทธิ์ คลิก Accept
3. เมื่อมีหน้าต่าง Java(TM) SE Development Kit 6 Update 6 ขึ้นมา ให้เลือกสถานที่ติดตั้งโปรแกรม
โดยการคลิก Change
โดยการคลิก Change
5. เมื่อกลับมาสู่หน้าจอเดิม ในส่วน Install to จะเป็น C:\Java\ ให้คลิก Next
6. โปรแกรมจะทำการติดตั้ง Java(TM) SE Development Kit 6 Update 6
7. หลังจากติดตั้งเสร็จเรียบร้อย โปรแกรมจะทำการติดตั้ง Java(TM) SE Runtime Environment ให้
ตรวจสอบสถานที่ติดตั้ง ให้อยู่ใน C:\ หลังจากนั้นให้คลิก Next
ตรวจสอบสถานที่ติดตั้ง ให้อยู่ใน C:\ หลังจากนั้นให้คลิก Next
8. โปรแกรมจะทำการติดตั้ง Java(TM) SE Runtime Environment
9. เมื่อโปรแกรมติดตั้งเรียบร้อยแล้ว ให้คลิก Finish
ขั้นตอนต่อมา เราจะมาเขียนโปรแกรมโดยการเขียนลงบนโปรแกรม editplus โปรแกรม editplus ซึ่งเป็น editor ชนิดหนึ่งที่ได้ความนิยม และง่ายต่อการ Compile และ Run โปรแกรม
2.มาดูวิธีการการตั้งค่าให้ EditPlus สามารถ Compile และ Run Java ได้
ติดตั้งโปรแกรม
การกำหนดค่าใน EditPlus
เข้าไปที่ Menu Tool > Configuration User Tool แล้วจะปรากฎหน้าต่าง Preferences
กดปุ่ม Group Name... จากนั้นให้ตั้งชื่อใหม่ว่า Java
ต่อมาจะเป็นขั้นตอนการสร้าง Compile กดปุ่ม Add Tool >>Program
- ช่อง Menu Text ให้ตั้งชื่อว่า Compile
- ช่อง Command ให้เลือก C:\Program Files\Java\jdk1.6.0_14\bin\javac.exe
- ช่อง Argument ให้เลือก File Name
- ช่อง Intial directory ให้เลือก File Directory
- เลือกที่ช่อง Capture output เพื่อให้แสดงผลการ Compile ตรงช่องด้านล่าง
ต่อมาการเป็นขั้นตอนการสร้าง Run กดปุ่ม Add Tool >>Program
- ช่อง Menu Text ให้ตั้งชื่อว่า Run
- ช่อง Command ให้เลือก C:\Program Files\Java\jdk1.6.0_14\bin\java.exe
- ช่อง Argument ให้เลือก File Name Without Extension
- ช่อง Intial directory ให้เลือก File Directory
- จากนั้น ก็กด OK
3.ตัวอย่างการเขียนโปรแกรมด้วยภาษา Java
ตัวอย่างที่ 1 //รับข้อมูลส่วนตัวจาก user และแสดงผล
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class Introduction //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Your name is..."); //แสดงข้อความ
String name = in.readLine(); //รับค่า name จาก user เป็นข้อความ
System.out.println("Your age is..."); //แสดงข้อความ
String age = in.readLine(); //รับค่า age จาก user เป็นข้อความ
System.out.println("Your occupation is..."); //แสดงข้อความ
String occupation = in.readLine(); //รับค่า occupation จาก user เป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย
หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
=================================================================
ตัวอย่างที่ 2 //ให้ user กรอกตัวเลข เพื่อให้ระบบทำการบวกเพิ่มจำนวนตั้งแต่ 1 ไปเรื่อยๆจนถึงเลขที่ user กรอก
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class PlusContinue //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Increase Number From 0 to..."); //แสดงข้อความ
String strNumber = in.readLine(); //รับค่า number เป็นข้อความ
int number = Integer.parseInt(strNumber); //แปลงค่า number เป็นตัวเลข
int i=0; //ประกาศตัวแปรเก็บค่าการวนซ้ำ
int result = 0; //ประกาศตัวแปรเก็บค่าผลลัพธ์
while(i<=number) //วนซ้ำจนกว่าจะเท่ากับค่า number
{
result = result+i; //นำค่าบวกผลลัพธ์เดิมไปเรื่อยๆ
i++; //เพิ่มค่าวนซ้ำ 1 ทุกๆรอบการวน
}
System.out.println("Result = "+result); //แสดงผลลัพธ์
}
}
ตัวอย่างที่ 3 //คำนวนหาเส้นรอบวงสี่เหลี่ยม จากการรับข้อมูลความกว้างและความยาวของสี่เหลี่ยมจาก user
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class SqaurePerimeter //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Square Width : "); //แสดงข้อความ
String strWidth = in.readLine(); //รับค่า width จาก user เป็นข้อความ
System.out.println("Input Square Length : "); //แสดงข้อความ
String strLength = in.readLine(); //รับค่า length จาก user เป็นข้อความ
double width = Double.parseDouble(strWidth); //แปลงข้อความ width เป็นตัวเลขทศนิยม
double length = Double.parseDouble(strLength); //แปลงข้อความ length เป็นตัวเลขทศนิยม
double result = 2*(width+length); //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Square Perimeter = "+result); //แสดงผลลัพธ์เส้นรอบวง 4 เหลี่ยมเป็นข้อความ
}
}
ขั้นตอนที่3 เขียนโปรแกรม
public class TicketBooking { //ชื่อ class จะต้องชื่อเดียวกับ file
public static void main(String[] args) throws IOException, Exception { //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Choose Destination"); //แสดงข้อความ
System.out.println("1. Tokyo, Japan "); //แสดงข้อความ
System.out.println("2. Beijing, China "); //แสดงข้อความ
System.out.println("3. Doha, Qatar "); //แสดงข้อความ
String strDestination = in.readLine(); //รับค่าจุดหมายปลายทาง จาก user เป็นข้อความ
System.out.println("Choose Seat Type "); //แสดงข้อความ
System.out.println("1. First Class "); //แสดงข้อความ
System.out.println("2. Business Class "); //แสดงข้อความ
System.out.println("3. Economy Class "); //แสดงข้อความ
String strSeatType = in.readLine(); //รับค่าชนิดที่นั่งจาก user เป็นข้อความ
System.out.println("Choose Number of Seat "); //แสดงข้อความ
String strSeatNum = in.readLine(); //รับค่าจำนวนที่นั่งจาก user เป็นข้อความ
int destination = Integer.parseInt(strDestination); //แปลงข้อความ strDestination เป็นตัวเลขจำนวนเต็ม
int seatType = Integer.parseInt(strSeatType); //แปลงข้อความ strSeatType เป็นตัวเลขจำนวนเต็ม
int seatNum = Integer.parseInt(strSeatNum); //แปลงข้อความ strSeatNum เป็นตัวเลขจำนวนเต็ม
double price = 0; //ประกาศตัวแปร price เป็นตัวเลขทศนิยม
String destinationName = ""; //ประกาศตัวแปร destinationName เป็นข้อความ
String seatTypeName = ""; //ประกาศตัวแปร seatTypeName เป็นข้อความ
switch(destination){ //ใช้คำสั่ง switch ด้วยตัวแปร destination
case 1:price=25000;destinationName="Tokyo";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 1
case 2:price=20000;destinationName="Beijing";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 2
case 3:price=30000;destinationName="Doha";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 3
default:System.exit(0); //ออกจากโปรแกรมทันที
}
switch(seatType){ //ใช้คำสั่ง switch ด้วยตัวแปร seatType
case 1:price=price*4;seatTypeName="First Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 1
case 2:price=price*2;seatTypeName="Business Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 2
case 3:seatTypeName="Economy Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 3
default:System.exit(0); //ออกจากโปรแกรมทันที
}
price = price*seatNum; //คุณจำนวนที่นั่งกับราคา
System.out.println("::: Your Ticket Info ::"); //แสดงผลลัพธ์
System.out.println("From Bangkok To "+destinationName); //แสดงผลลัพธ์
System.out.println("Seat : "+seatTypeName); //แสดงผลลัพธ์
System.out.println("Price : "+price); //แสดงผลลัพธ์
}
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class Introduction //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Your name is..."); //แสดงข้อความ
String name = in.readLine(); //รับค่า name จาก user เป็นข้อความ
System.out.println("Your age is..."); //แสดงข้อความ
String age = in.readLine(); //รับค่า age จาก user เป็นข้อความ
System.out.println("Your occupation is..."); //แสดงข้อความ
String occupation = in.readLine(); //รับค่า occupation จาก user เป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย
หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
ตัวอย่างที่ 2 //ให้ user กรอกตัวเลข เพื่อให้ระบบทำการบวกเพิ่มจำนวนตั้งแต่ 1 ไปเรื่อยๆจนถึงเลขที่ user กรอก
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class PlusContinue //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Increase Number From 0 to..."); //แสดงข้อความ
String strNumber = in.readLine(); //รับค่า number เป็นข้อความ
int number = Integer.parseInt(strNumber); //แปลงค่า number เป็นตัวเลข
int i=0; //ประกาศตัวแปรเก็บค่าการวนซ้ำ
int result = 0; //ประกาศตัวแปรเก็บค่าผลลัพธ์
while(i<=number) //วนซ้ำจนกว่าจะเท่ากับค่า number
{
result = result+i; //นำค่าบวกผลลัพธ์เดิมไปเรื่อยๆ
i++; //เพิ่มค่าวนซ้ำ 1 ทุกๆรอบการวน
}
System.out.println("Result = "+result); //แสดงผลลัพธ์
}
}
หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
=================================================================
ตัวอย่างที่ 3 //คำนวนหาเส้นรอบวงสี่เหลี่ยม จากการรับข้อมูลความกว้างและความยาวของสี่เหลี่ยมจาก user
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class SqaurePerimeter //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Square Width : "); //แสดงข้อความ
String strWidth = in.readLine(); //รับค่า width จาก user เป็นข้อความ
System.out.println("Input Square Length : "); //แสดงข้อความ
String strLength = in.readLine(); //รับค่า length จาก user เป็นข้อความ
double width = Double.parseDouble(strWidth); //แปลงข้อความ width เป็นตัวเลขทศนิยม
double length = Double.parseDouble(strLength); //แปลงข้อความ length เป็นตัวเลขทศนิยม
double result = 2*(width+length); //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Square Perimeter = "+result); //แสดงผลลัพธ์เส้นรอบวง 4 เหลี่ยมเป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย
หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
================================================================
ตัวอย่างที่ 4 //คำนวนหาพื้นที่ทรงกลม จากการรับข้อมูลรัศมีจาก user
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class Circle3DArea //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Circle Radius : "); //แสดงข้อความ
String strRadius = in.readLine(); //รับค่า width จาก user เป็นข้อความ
double radius = Double.parseDouble(strRadius); //แปลงข้อความ length เป็นตัวเลขทศนิยม
double result = Math.PI*radius*radius; //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Circle Area = "+result); //แสดงผลลัพธ์พื้นที่วงกลมเหลี่ยมเป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
public class Circle3DArea //ชื่อ class จะต้องชื่อเดียวกับ file
{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Circle Radius : "); //แสดงข้อความ
String strRadius = in.readLine(); //รับค่า width จาก user เป็นข้อความ
double radius = Double.parseDouble(strRadius); //แปลงข้อความ length เป็นตัวเลขทศนิยม
double result = Math.PI*radius*radius; //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Circle Area = "+result); //แสดงผลลัพธ์พื้นที่วงกลมเหลี่ยมเป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
================================================================
ตัวอย่างที่ 5 //คำนวนหาพื้นที่สามเหลี่ยม จากการรับข้อมูลความยาวฐานและความสูงจาก user
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class TriangleArea //ชื่อ class จะต้องชื่อเดียวกับ file{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Triangle Base : "); //แสดงข้อความ
String strBase = in.readLine(); //รับค่า base จาก user เป็นข้อความ
System.out.println("Input Triangle Height : "); //แสดงข้อความ
String strHeight = in.readLine(); //รับค่า height จาก user เป็นข้อความ
double base = Double.parseDouble(strBase); //แปลงข้อความ base เป็นตัวเลขทศนิยม
double height = Double.parseDouble(strHeight); //แปลงข้อความ height เป็นตัวเลขทศนิยม
double result = 0.5*(base+height); //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Square Area = "+result); //แสดงผลลัพธ์พื้นที่ 3 เหลี่ยมเป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io หาค่าเฉลี่ย
public class TriangleArea //ชื่อ class จะต้องชื่อเดียวกับ file{
public static void main(String[] args) throws IOException //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Input Triangle Base : "); //แสดงข้อความ
String strBase = in.readLine(); //รับค่า base จาก user เป็นข้อความ
System.out.println("Input Triangle Height : "); //แสดงข้อความ
String strHeight = in.readLine(); //รับค่า height จาก user เป็นข้อความ
double base = Double.parseDouble(strBase); //แปลงข้อความ base เป็นตัวเลขทศนิยม
double height = Double.parseDouble(strHeight); //แปลงข้อความ height เป็นตัวเลขทศนิยม
double result = 0.5*(base+height); //คำนวนผลลัพธ์เส้นรอบวงเป็นตัวเลขทศนิยม
System.out.println("The Square Area = "+result); //แสดงผลลัพธ์พื้นที่ 3 เหลี่ยมเป็นข้อความ
}
}
เมื่อเขียนโค้ดตามขั้นตอนเส็ดแล้ว ก็มา Compile กันเลย หลังจาก Compile แล้ว ไม่มี Error ก็มาลอง Run โปรแกรมกันดูครับ
4.ขั้นตอนการทำโจทย์โปรแกรมภาษา Java
โปรแกรมจองตั๋วเครื่องบิน
ขั้นตอนที่1 วิเคราะห์งาน
สิ่งที่โจทย์ให้มา
ชื่อ จุดหมายปลายทาง จำนวนที่นั่ง ระดับชั้นที่นั่ง
สิ่งที่โจท์ต้องการ
โปรแกรมจองต๋วเครื่องบิน
ชื่อ จุดหมายปลายทาง จำนวนที่นั่ง ระดับชั้นที่นั่ง
สิ่งที่โจท์ต้องการ
โปรแกรมจองต๋วเครื่องบิน
ตัวแปร
Name=ชื่อ
destination=จุดหมายปลายทาง
seatType=ระดับชั้นที่นั่ง
seatNum=จำนวนที่นั่ง
price=เงินสุทธิ
Name=ชื่อ
destination=จุดหมายปลายทาง
seatType=ระดับชั้นที่นั่ง
seatNum=จำนวนที่นั่ง
price=เงินสุทธิ
วิธีการ
1. price =0
2. รับค่า Name,destination,seatType,seatNum
3. เงื่อนไข if destination=1
Y ให้ price=25000
destinationName="Tokyo"
ไปข้อ6
N ไปข้อ4
4. เงื่อนไข if destination=2
Y ให้ price=20000
destinationName="Beijing"
ไปข้อ6
N ไปข้อ5
5. เงื่อนไข if destination=3
Y ให้ price=30000
destinationName="Doha"
ไปข้อ 6
6. เงื่อนไข if seatType=1
Y ให้ price = price*4
seatTypeName = "First Class"
ไปข้อ 9
N ไปข้อ 7
7. เงื่อนไข if seatType=2
Y ให้ price = price*2
seatTypeName = "Business Class"
ไปข้อ 9
N ไปข้อ 8
8. เงื่อนไข if seatType=3
Y ให้ price = price*1
seatTypeName = "Doha"
ไปข้อ 9
9. price = price*seatNum
10. แสดง ("::: Your Ticket Info ::")
11. แสดง ("From Bangkok To "+destinationName)
12. แสดง ("Seat : "+seatTypeName)
13. แสดง ("Price : "+price)
14. จบการทำงาน
ขั้นตอนที่2 Flow Chart
2. รับค่า Name,destination,seatType,seatNum
3. เงื่อนไข if destination=1
Y ให้ price=25000
destinationName="Tokyo"
ไปข้อ6
N ไปข้อ4
4. เงื่อนไข if destination=2
Y ให้ price=20000
destinationName="Beijing"
ไปข้อ6
N ไปข้อ5
5. เงื่อนไข if destination=3
Y ให้ price=30000
destinationName="Doha"
ไปข้อ 6
6. เงื่อนไข if seatType=1
Y ให้ price = price*4
seatTypeName = "First Class"
ไปข้อ 9
N ไปข้อ 7
7. เงื่อนไข if seatType=2
Y ให้ price = price*2
seatTypeName = "Business Class"
ไปข้อ 9
N ไปข้อ 8
8. เงื่อนไข if seatType=3
Y ให้ price = price*1
seatTypeName = "Doha"
ไปข้อ 9
9. price = price*seatNum
10. แสดง ("::: Your Ticket Info ::")
11. แสดง ("From Bangkok To "+destinationName)
12. แสดง ("Seat : "+seatTypeName)
13. แสดง ("Price : "+price)
14. จบการทำงาน
ขั้นตอนที่2 Flow Chart
โปรแกรมจองตั๋วเครื่องบิน
import java.io.*; //ต้องประกาศ import เมื่อต้องการใช้ class java.io รับค่าจาก userpublic class TicketBooking { //ชื่อ class จะต้องชื่อเดียวกับ file
public static void main(String[] args) throws IOException, Exception { //method ที่ใช้สำหรับ run program, โยนทิ้งเมื่อมี exeption
BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); //ประกาศคำสั่งที่ใช้ในการรับค่า
System.out.println("Choose Destination"); //แสดงข้อความ
System.out.println("1. Tokyo, Japan "); //แสดงข้อความ
System.out.println("2. Beijing, China "); //แสดงข้อความ
System.out.println("3. Doha, Qatar "); //แสดงข้อความ
String strDestination = in.readLine(); //รับค่าจุดหมายปลายทาง จาก user เป็นข้อความ
System.out.println("Choose Seat Type "); //แสดงข้อความ
System.out.println("1. First Class "); //แสดงข้อความ
System.out.println("2. Business Class "); //แสดงข้อความ
System.out.println("3. Economy Class "); //แสดงข้อความ
String strSeatType = in.readLine(); //รับค่าชนิดที่นั่งจาก user เป็นข้อความ
System.out.println("Choose Number of Seat "); //แสดงข้อความ
String strSeatNum = in.readLine(); //รับค่าจำนวนที่นั่งจาก user เป็นข้อความ
int destination = Integer.parseInt(strDestination); //แปลงข้อความ strDestination เป็นตัวเลขจำนวนเต็ม
int seatType = Integer.parseInt(strSeatType); //แปลงข้อความ strSeatType เป็นตัวเลขจำนวนเต็ม
int seatNum = Integer.parseInt(strSeatNum); //แปลงข้อความ strSeatNum เป็นตัวเลขจำนวนเต็ม
double price = 0; //ประกาศตัวแปร price เป็นตัวเลขทศนิยม
String destinationName = ""; //ประกาศตัวแปร destinationName เป็นข้อความ
String seatTypeName = ""; //ประกาศตัวแปร seatTypeName เป็นข้อความ
switch(destination){ //ใช้คำสั่ง switch ด้วยตัวแปร destination
case 1:price=25000;destinationName="Tokyo";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 1
case 2:price=20000;destinationName="Beijing";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 2
case 3:price=30000;destinationName="Doha";break; //ใส่ค่า price และใส่ค่า destinationName เมื่อ destination มีค่าเท่ากับ 3
default:System.exit(0); //ออกจากโปรแกรมทันที
}
switch(seatType){ //ใช้คำสั่ง switch ด้วยตัวแปร seatType
case 1:price=price*4;seatTypeName="First Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 1
case 2:price=price*2;seatTypeName="Business Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 2
case 3:seatTypeName="Economy Class";break; //ใส่ตัวคุณ price และใส่ค่า destinationName เมื่อ seatType มีค่าเท่ากับ 3
default:System.exit(0); //ออกจากโปรแกรมทันที
}
price = price*seatNum; //คุณจำนวนที่นั่งกับราคา
System.out.println("From Bangkok To "+destinationName); //แสดงผลลัพธ์
System.out.println("Seat : "+seatTypeName); //แสดงผลลัพธ์
System.out.println("Price : "+price); //แสดงผลลัพธ์
}



























ไม่มีความคิดเห็น:
แสดงความคิดเห็น