- แยกโปรแกรมเป็น Method ที่มีหน้าที่เดียว
- ส่งข้อมูลเข้า Method ด้วย Parameter
- รับผลลัพธ์กลับด้วย
return
บทนี้เริ่มจาก Method สั้นสองตัว ก่อนเปิดโปรแกรม Capstone ฉบับเต็มใน Repository
สร้างไฟล์ MachineMethod.java:
public class MachineMethod {
public static void main(String[] args) {
// เรียก Method ตรงนี้
}
// เพิ่ม Method ตรงนี้
}Method ที่สร้างในบทนี้ต้องอยู่ภายใน Class MachineMethod แต่ไม่ซ้อนอยู่ภายใน main
วาง Method นี้แทน Comment // เพิ่ม Method ตรงนี้:
private static String checkStatus(double temperature, double vibration) {
if (temperature >= 80.0 || vibration >= 7.0) {
return "WARNING";
}
return "RUNNING";
}วางโค้ดนี้แทน Comment // เรียก Method ตรงนี้ ภายใน main:
String status = checkStatus(82.3, 6.2);
System.out.println("Status: " + status);เพิ่ม Method นี้ต่อจาก checkStatus(...) โดยยังอยู่ภายใน Class:
private static void printMachine(String name, double temperature, double vibration) {
String status = checkStatus(temperature, vibration);
System.out.println(name + " | " + temperature + " C | " + vibration + " mm/s | " + status);
}แล้วเพิ่มการเรียก Method ต่อจากโค้ดเดิมภายใน main:
printMachine("Mixer", 65.5, 2.3);
printMachine("Conveyor", 82.3, 6.2);เปิดไฟล์ BasicDemo.java หลังจากเข้าใจสอง Method ด้านบนแล้ว ไฟล์นี้รวม Variable, Array, Loop, Method, Condition, Switch และ Scanner ไว้เป็นโปรแกรมเดียว
powershell -ExecutionPolicy Bypass -File .\scripts\run-basic.ps1ผลลัพธ์ส่วนหนึ่ง:
1. Mixer อุณหภูมิ 65.5 °C -> NORMAL
2. Conveyor อุณหภูมิ 82.3 °C -> WARNING
3. Water Pump อุณหภูมิ 58.0 °C -> NORMAL
ทำทีละข้อและรันหลังแก้แต่ละข้อ:
- เพิ่ม Array แรงสั่นสะเทือน
- เปลี่ยน
checkTemperatureเป็นcheckStatus - แจ้งเตือนเมื่ออุณหภูมิตั้งแต่ 80 หรือแรงสั่นตั้งแต่ 7
- เพิ่มเมนูให้ผู้ใช้เลือกดูเครื่องจักร
- ป้องกันหมายเลขที่อยู่นอกช่วง
Playlist ถัดไปจะแก้ข้อจำกัดของ Array และ Static Method ด้วย Class และ Object