Page 57 - การโปรแกรมคอมพิวเตอร์ขั้นสูง
P. 57

สตริงบิวเดอร์ 2-47

       คำ�​อธิบายก​ าร​ท�ำ งาน
       จากต​ ัวอย่างน​ ี้ เป็นการ​ส่ง​ค่า​มา​ทั้งหมด 3 ค่า ประกอบ​ด้วย ค่า 10 ค่า b และ​ค่า P ตามล​ ำ�ดับ ซึ่งท​ ุกค​ ่าที่ส​ ่ง​
เข้า​มา​จะ​ถูก​จัด​เก็บ​ไว้​ใน​รูป​แบบ​ของ​อาร์เรย์ ดัง​นั้น ตัวเลขท​ ี่​ส่ง​เข้า​มา​จาก​ตัวอย่างค​ ือ ค่า 10 นั้น หาก​ต้องการน​ ำ�​ไป​
ค�ำ นวณต​ อ่ ต้อง​ท�ำ การ​แปลง​กลับ​มาใ​หเ​้ ป็นช​ นดิ ​ตวั เลขก​ อ่ น ซงึ่ ถ​ า้ เ​ปน็ ​เลขจ�ำ นวน​เต็ม​ใหใ้​ช้​เมธอด Integer.parseInt( )
จึงจ​ ะ​สามารถน​ ำ�​ไป​คำ�นวณไ​ด้

ตวั อยา่ ง​ท่ี 2.26 การส​ ่งค​ ่า​อาร์กิวเมนต์​ผ่าน​ทางบ​ รรทัด​ค�ำส​ ั่ง​ของโ​ปรแกรมช​ ื่อ Teststr ต้องการ​ส่งส​ ตริงย​ าว ๆ เม่ืออ​ ยู่​
ท่ีบ​ รรทัดค​ �ำส​ ั่ง​ต้อง​พิมพ์​ค�ำส​ ั่ง​ ดังนี้

                 java Teststr "Welcome" 30 "java" x

       ค�ำ ​อธบิ ายก​ าร​ท�ำ งาน
       ถ้า​หาก​ต้องการ​ส่ง​ค่า​สตริง​ยาว ๆ สามารถ​ทำ�ได้​โดย​การ​ใส่​สตริง​ดัง​กล่าว​ไว้​ภาย​ใต้​เครื่องหมาย​อัญประกาศ​
แบบค​ ู่ จาก​ตัวอย่าง​นี้​เป็นการ​ส่ง​ค่า​มาท​ ั้งหมด 4 ค่า ประกอบ​ด้วย ค่า Welcome ค่า 30 ค่า java และ​ค่า x ตามล​ ำ�ดับ
จะ​เห็น​ว่า​สามารถ​ส่ง​ค่า​สตริง​ยาว ๆ ได้ โดย​ขณะ​รัน​โปรแกรม​ต้อง​ป้อน​ค่า​สตริงเห​ล่า​นั้น​อยู่​ภาย​ใต้​เครื่องหมาย​
อัญประกาศ​แบบ​คู่ ซึ่ง​เครื่องหมาย​อัญประกาศ​คู่​นั้น​จาวา​ไม่​ได้​เก็บ​ไว้ แต่​จัด​เก็บ​จริง ๆ เฉพาะ​ค่า​ของ​สตริง​เท่านั้น
จากต​ ัวอย่างค​ ือ เก็บ​เฉพาะ​ค่า Welcome และ java เท่านั้น

ตัวอยา่ งท​ ่ี 2.27 การส​ ่ง​ค่า​อาร์กิวเมนต์ผ​ ่านท​ างบ​ รรทัดค​ �ำส​ ่ัง

Testvar.java

1 class ReadDatacommand {

2 	 public static void main(String[ ] args) {

3	            System.out.println("จำ�นวนค่าที่ส่งมา : "+args.length);

4	            int count = args.length;

5	            if (count > 0) {

6	               for (int i=0; i<count; i++) {

7	                              System.out.println("ค่าที่ส่งมา = "+args[i]);

8	               }

9	            }

10 	}

11 }

คำ�​อธิบายโ​ ปรแกรม
บรรทัดท​ ี่ 1-11 	 สร้าง​คลาสช​ ื่อ ReadDatacommand
บรรทัด​ที่ 2-10 	 สร้างเ​มธอด main เพื่อ​เริ่ม​ต้น​การท​ ำ�งาน​ของ​โปรแกรม
   52   53   54   55   56   57   58   59   60   61   62