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 แสดงว ่า ไม่มีข ้อมูลที่ต ้องการอ ่านแ ล้ว มีร ูปแ บบดังนี้