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

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

       คำ�​อธิบาย​โปรแกรม
       บรรทัดท​ ี่ 1	 เรียก​ใช้​คลาส​สแกน​เนอร​ ์ ที่จ​ ัดเ​ก็บ​ไว้ใ​นแ​ พ็ก​เกจ java.util.Scanner
       บรรทัดท​ ี่ 2-12 	 สร้างค​ ลาสช​ ื่อ testscan
       บรรทัดท​ ี่ 3-11 	 สร้าง​เมธอด main เพื่อ​เริ่มต​ ้น​การท​ ำ�งาน​ของโ​ปรแกรม
       บรรทัด​ที่ 4 	 ส ร้าง​ออบ​เจ็กต์​ของ​คลาส​สแกน​เนอ​ร์ โดย​มี​ตัวแปร Sc ที่​ใช้​สำ�หรับ​รับ​ค่า​จาก​แป้น​พิมพ์

                    นั่น​คือ เมื่อ​ผู้​ใช้ป​ ้อน​ข้อมูลเ​ข้าม​ า​จะถ​ ูก​เก็บไ​ว้​ที่ต​ ัวแปร Sc นี้
       บรรทัด​ที่ 5 	 แสดง​คำ�​ว่า “Insert Name : ” ออก​ทาง​จอภาพ
       บรรทัดท​ ี่ 6 	 เมื่อม​ า​ถึง​บรรทัด​นี้เ​คอร์เซอร์จ​ ะห​ ยุดร​ อเ​พื่อใ​ห้​ผู้ใ​ช้​ป้อน​ข้อมูล ซึ่ง​สามารถ​ป้อน​ข้อมูลท​ ี่​เป็น​

                    สตริง โดย​สามารถ​รับ​ข้อมูล​ได้​จนกว่า​จะ​มี​การ​กด​ปุ่ม Enter ที่​แป้น​พิมพ์ เพื่อ​สิ้น​สุด​การ​
                    ป้อนข​ ้อมูล จากน​ ั้นเ​ก็บค​ ่าที่ผ​ ู้ใ​ช้ป​ ้อน​เข้าม​ า​ไว้​ที่ต​ ัวแปร s
       บรรทัดท​ ี่ 7 	 แสดงค​ ำ�​ว่า “Insert Age : ” ออกท​ างจ​ อภาพ
       บรรทัด​ที่ 8 	 เมื่อ​มาถ​ ึง​บรรทัด​นี้​เคอร์เซอร์​จะห​ ยุด​รอ​เพื่อ​ให้ผ​ ู้ใ​ช้ป​ ้อนข​ ้อมูล ซึ่งส​ ามารถ​ป้อน​ข้อมูลท​ ี่​เป็น​
                    ตวั เลขจ​ �ำ นวนเตม็ ช​ นดิ int โดยส​ ามารถร​ บั ข​ อ้ มลู ไ​ดจ​้ นกวา่ จ​ ะม​ ก​ี ารก​ ดป​ ุม่ Enter ทแี​่ ปน้ พมิ พ์
                    เพื่อ​สิ้นส​ ุดก​ าร​ป้อน​ข้อมูล จาก​นั้นเ​ก็บค​ ่าที่ผ​ ู้ใ​ช้ป​ ้อนเ​ข้าม​ าไ​ว้ท​ ี่ต​ ัวแปร age
       บรรทัด​ที่ 9-10 	 แ สดง​ผลอ​อกท​ าง​จอภาพ โดยอ​ ่านค​ ่า​ในต​ ัวแปร s และ age ตามล​ ำ�ดับ ซึ่งเ​ป็น​ตัวแปร​ที่เ​ก็บ​
                    ค่าที่​ผู้ใ​ช้​ป้อนเ​ข้าม​ า

       ผลก​ ารท​ �ำ งานข​ องโ​ปรแกรม
       ผลท​ ี่ไ​ด้​จากก​ าร​ทำ�งาน​ของโ​ปรแกรม ex2-23.java เป็นด​ ังนี้

                       Insert Name : pock
                       Insert Age : 20
                       Yourname : pock
                       Age : 20

3. 	การใ​ชเ​้ มธอด​ของค​ ลาส​สแกน​เนอร​ ​์สำ�หรบั อ​ ่าน​ไฟลข​์ อ้ มูล

       คลาส​สแกนเ​นอร​ ์​ใช้ส​ ำ�หรับ​อ่าน​ข้อมูลป​ ระเภท​ข้อความ​หรือเ​ท็กซ์​ไฟล์ (text file) ซึ่งข​ ้อมูลจ​ ะ​ถูก​แบ่งอ​ อก​เป็น​
ส่วน ๆ แยกด​ ้วยต​ ัวค​ ั่น (limiter) แต่ถ​ ้าห​ ากไ​ม่มีก​ ารร​ ะบุต​ ัวค​ ั่นเ​ป็นอ​ ย่างอ​ ื่นจ​ ะใ​ช้เ​ครื่องหมายช​ ่องว​ ่าง (white spaces)
เปน็ ต​ วั ค​ ัน่ โ​ดยป​ รยิ าย ซึง่ ข​ อ้ มลู แ​ ตล่ ะส​ ว่ นท​ ถี​่ กู ต​ ดั แ​ บง่ ม​ าแ​ ลว้ อ​ าจน​ �ำ ​ไปแ​ ปลงเ​ปน็ ข​ อ้ มลู ช​ นดิ ต​ า่ ง ๆ ดว้ ยเ​มธอดท​ ตี​่ อ้ งการ
เช่น ข้อมูล​เป็นต​ ัวเลข​จำ�นวนเต็มช​ นิด int จะใ​ช้ เมธอด nextInt() เป็นต้น

       สำ�หรับเ​มธอดใ​นห​ ัวข้อ​ที่​ผ่าน​มาส​ ามารถ​ใช้​ร่วม​กัน​ได้ ซึ่ง​ใน​หัวข้อ​นี้​ยังม​ ี​เมธอด​ที่น​ ่าส​ นใจ ดังนี้
       3.1 	เมธอด hasNext() เมธอดน​ ี้ใ​ช้ส​ ำ�หรับ​ตรวจ​สอบไ​ฟล์​ข้อมูล​ว่า​ยัง​มีข​ ้อมูล​ที่​ต้องการ​อ่านอ​ ีก​หรือไ​ม่ ถ้า​ให้​
ค่า true แสดง​ว่า ยัง​มีข​ ้อมูล แต่ถ​ ้า​ให้​ค่า false แสดงว​ ่า ไม่มีข​ ้อมูล​ที่ต​ ้องการอ​ ่านแ​ ล้ว มีร​ ูปแ​ บบ​ดังนี้
   48   49   50   51   52   53   54   55   56   57   58