Q: เคยสงสัยหรือไม่ ว่า public static void main(String[] args) ตรงที่ตัวแดงไว้ มีไว้ทำอะไร
A: มีไว้ เพื่อทำการรับค่าจากส่วนของ command line(หน้าจอดำๆ ของMS Dos) เพราะ java ในยุคแรกๆต้องรันผ่านหน้าจอ Dos โดยตัว String[] args นั้นไม่จำเป็นต้องเขียนก็ได้ แต่ถ้าไม่ระบุ (String[] args) method main มันจะกลายเป็นแค่ method ทั่วๆไป เพราะ jvm specification ระบุ signature ไว้ว่ามันจะวิ่งไปทำงานที่ main ที่รับ parameter เป็น String[] เท่านั้น
Q: แล้วถ้าต้องรับค่าจาก command line แต่ใช้ Eclipse หละ
A: ทดสอบทำตามขั้นตอนนี้เลย
- สร้าง project และ class ขึ้นมาตามปกติ จากนั้นcopy code ด้านล่างนี้ไปแปะ แล้วจัดการimport package และ ประกาศตัวแปรให้ถูกต้อง
public class ExceptionDemo { public static void main(String[] args) { double a, b, c; a = Double.parseDouble(args[0]); //ทำการแปลงค่าจาก arg[0] ให้เป็น double b = Double.parseDouble(args[1]); //ทำการแปลงค่าจาก arg[1] ให้เป็น double c = Double.parseDouble(args[2]); //ทำการแปลงค่าจาก arg[2] ให้เป็น double JOptionPane.showMessageDialog(null, a+"\n"+b+"\n"+c); } }
- ตอนที่จะรันโปรแกรม ให้ไปที่เมนู run-> run configuration
- เลือกโปรแกรมที่ต้องการจะตั้งค่าในการrun ซึงก็คือ ExceptionDemo จากนั้นมาที่แท็บ Arguments
- ใส่ค่าลงไปในช่อง Arguments 3 ค่า ดังนี้
(อาจจะมีคนงงว่าทำไมต้องป้อน 3 ค่า กรุณาลองกลับไปดูที่ code ของโปรแกรมนี้ครับ)ชุดที่1: 23.57 56.23 46.32 ชุดที่2: 2.0 -8.0 5.0
- ผลลัพธ์ที่เกิดขึ้น
Discover more from naiwaen@DebuggingSoft
Subscribe to get the latest posts sent to your email.