คลาส Scanner ใช้เพื่ออ่านอินพุตของผู้ใช้ Java Java Scanner ถูกสร้างขึ้นในแพ็คเกจ java.util ดังนั้นจึงไม่จำเป็นต้องใช้ไลบรารีภายนอก เครื่องสแกนเนอร์อ่านข้อความจากอินพุตมาตรฐาน ข้อความนี้จะถูกส่งกลับไปยังโปรแกรมหลักเพื่อให้สามารถจัดเก็บหรือจัดการได้ ป>
การทำความเข้าใจวิธีรับข้อมูลจากผู้ใช้ใน Java ถือเป็นทักษะที่สำคัญ ตัวอย่างเช่น สมมติว่าคุณกำลังสร้างแอปด้วยแบบฟอร์มลงชื่อเข้าใช้ คุณจะต้องจัดการอินพุตของผู้ใช้เพื่อรวบรวมข้อมูลการเข้าสู่ระบบสำหรับผู้ใช้
ใน Java คุณสามารถใช้ เครื่องสแกน เพื่อรับอินพุตจากผู้ใช้ที่คุณสามารถประมวลผลในโปรแกรมของคุณ บทช่วยสอนนี้จะกล่าวถึงวิธีใช้คลาส Java Scanner เพื่อรับอินพุตจากผู้ใช้ โดยใช้ตัวอย่างบางส่วน
คลาส Java Scanner ใช้เพื่อรวบรวมข้อมูลอินพุตของผู้ใช้ เครื่องสแกนเป็นส่วนหนึ่งของแพ็คเกจ java.util จึงสามารถนำเข้าได้โดยไม่ต้องดาวน์โหลดไลบรารีภายนอกใดๆ เครื่องสแกนเนอร์อ่านข้อความจากอินพุตมาตรฐานและส่งกลับไปยังโปรแกรม
เพื่อที่จะทำงานกับคลาส Scanner คุณต้องนำเข้าคลาสนั้นลงในโค้ดของคุณก่อน มีสองวิธีที่คุณสามารถทำได้:
- หากคุณต้องการเพียงทำงานกับ java.util.Scanner คุณสามารถนำเข้าคลาส Scanner ได้โดยตรง
- หากคุณกำลังทำงานร่วมกับโมดูลอื่นใน java.util ไลบรารี คุณอาจต้องการนำเข้าไลบรารีทั้งหมด
ต่อไปนี้คือรหัสสำหรับแต่ละวิธีข้างต้น:
import java.util.Scanner; import java.util.*;
บรรทัดแรกของโค้ดจะนำเข้าคลาส Scanner โค้ดบรรทัดที่สองจะนำเข้าแพ็กเกจทั้งหมดภายในไลบรารี java.util รวมถึง Scanner ด้วย
เป็นที่น่าสังเกตว่ามีวิธีอื่นในการรับข้อมูลอินพุตของผู้ใช้ใน Java คุณสามารถใช้คลาส BufferedReader, InputStreamReader, DataInputStream และ Console ของ Java ได้
อย่างไรก็ตาม คลาส Scanner เป็นวิธีที่ได้รับความนิยมมากที่สุดในการรวบรวมข้อมูลอินพุตของผู้ใช้ใน Java ดังนั้น เราจะเน้นไปที่ชั้นเรียนนั้นในบทความนี้
ไวยากรณ์การป้อนข้อมูลของผู้ใช้ Java
คุณสามารถรวบรวมอินพุตของผู้ใช้ได้โดยใช้คลาส Scanner คลาส Scanner อ่านข้อความที่ผู้ใช้แทรกลงในคอนโซลและส่งข้อความนั้นกลับไปยังโปรแกรม เครื่องสแกนเป็นวิธีการหลักในการรวบรวมอินพุตของผู้ใช้ Java
หลังจากที่คุณอิมพอร์ตคลาส Java Scanner แล้ว คุณสามารถเริ่มใช้เพื่อรวบรวมอินพุตของผู้ใช้ได้ ต่อไปนี้เป็นไวยากรณ์สำหรับคลาส Java Scanner:
Scanner input = new Scanner(System.in); int number = input.nextInt();
ในตัวอย่างนี้ เราได้สร้างตัวแปรชื่อ 09 ที่รวบรวมค่าถัดไปที่ผู้ใช้ป้อนลงในคอนโซล จากนั้นเราสร้างตัวแปรชื่อ 12 ที่รวบรวมค่าที่ผู้ใช้ส่งไปยังคอนโซล
ตัวอย่างการป้อนข้อมูลของผู้ใช้ Java
ตัวอย่างเช่น สมมติว่าเรากำลังสร้างแอปพลิเคชันสำหรับร้านคอมพิวเตอร์ในพื้นที่ซึ่งติดตามสินค้าคงคลัง
ผู้จัดการขอให้เราสร้างโปรแกรมง่ายๆ ที่เธอสามารถใช้เพื่อเพิ่มสินค้าเข้าในรายการสินค้าคงคลังของร้านค้าได้ ผู้จัดการต้องการป้อนค่าสองค่า:ชื่อของสินค้าและปริมาณ
นี่คือโค้ดที่เราจะใช้เพื่อสร้างโปรแกรมนี้:
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Product name: ");
String product_name = input.next();
System.out.print("Value entered: " + product_name);
System.out.print("Quantity: ");
int quantity = input.nextInt();
System.out.print("Value entered: " + quantity);
}
}
อินพุตแรกที่เรายอมรับชื่อของรายการ นี่จะเป็นสตริงเนื่องจากชื่อรายการเป็นแบบข้อความและใช้อักขระที่หลากหลาย ในโค้ดด้านล่าง เรากำหนดสตริงนี้ด้วยโค้ด:String product_name .
ข้อมูลถัดไปคือปริมาณของสินค้า นี่จะเป็นตัวเลข ในโค้ดด้านล่าง เรากำหนดตัวเลขนี้ด้วยโค้ด:int quantity โดยที่ int ย่อมาจากจำนวนเต็ม
เมื่อเรารันโค้ดของเราและใส่ค่าตัวอย่างบางส่วน โปรแกรมจะส่งกลับการตอบสนองต่อไปนี้:
อย่างที่คุณเห็น โปรแกรมของเรารวบรวมข้อมูลของผู้ใช้ จากนั้นจะส่งกลับไปยังคอนโซลตามค่าที่ผู้ใช้ป้อน สิ่งนี้ช่วยให้เราตรวจสอบได้ว่าโปรแกรมของเราทำงานอยู่
มาแจกแจงโค้ดของเราทีละขั้นตอนกัน
โปรดสังเกตว่าเราใช้โค้ดที่แตกต่างกันในการรวบรวมตัวเลขและสตริง เมื่อเรารวบรวมชื่อผลิตภัณฑ์ เราใช้ input.next(); และเมื่อเรารวบรวมปริมาณผลิตภัณฑ์ เราใช้ input.nextInt(); .
ในตัวอย่างข้างต้น เราได้รวบรวมข้อมูลสองประเภทจากผู้ใช้:สตริงและจำนวนเต็ม ตามที่กล่าวไว้ เราต้องใช้โค้ดที่แตกต่างกันในการรวบรวมข้อมูลประเภทเหล่านี้
ข้อมูลประเภทต่างๆ เช่น สตริงและจำนวนเต็ม จะถูกรวบรวมโดยใช้วิธีการแยกกัน ดังนั้นในการรวบรวมบูลีน คุณจะต้องใช้โค้ดที่แตกต่างจากที่คุณจะรวบรวมทศนิยม
"อาชีพกรรมเข้ามาในชีวิตของฉันเมื่อฉันต้องการมันมากที่สุดและช่วยให้ฉันเข้ากับหลักสูตรฝึกหัดได้อย่างรวดเร็ว สองเดือนหลังจากสำเร็จการศึกษา ฉันพบงานในฝันที่สอดคล้องกับค่านิยมและเป้าหมายในชีวิตของฉัน!"
Venus วิศวกรซอฟต์แวร์ที่ Rockbot
ค้นหาการแข่งขัน Bootcamp ของคุณ
นี่คือตารางที่แสดงวิธีการทั้งหมดที่ใช้ในการรวบรวมอินพุตของผู้ใช้ใน Java โดยใช้คลาส Scanner:
หากคุณใส่ประเภทอินพุตผิด โปรแกรมของคุณจะเพิ่ม InputMismatchException ตัวอย่างเช่น หากคุณพยายามแทรก double ลงในฟิลด์ที่รวบรวม Booleans โปรแกรมของคุณจะทำให้เกิดข้อยกเว้น ป>
กลับไปที่ร้านคอมพิวเตอร์กันเถอะ สมมติว่าเราต้องการอัพเดตโปรแกรมแรกของเรา และอนุญาตให้ผู้จัดการร้านคอมพิวเตอร์ของเราป้อนข้อมูลว่าผลิตภัณฑ์นั้นจัดแสดงอยู่หรือเก็บไว้ในห้องสต็อก
ในการทำเช่นนั้น เราต้องการรวบรวมค่าใหม่ที่เรียกว่า on_display ที่จะจัดเก็บอินพุตเป็นบูลีนเนื่องจากมีค่าได้เพียงสองค่าเท่านั้น:จริงหรือเท็จ
นี่คือโค้ดที่เราสามารถใช้เพื่อรวบรวมข้อมูลนี้:
เมื่อเรารันโค้ดของเราและใส่ค่าตัวอย่างบางส่วน โปรแกรมจะส่งกลับการตอบสนองต่อไปนี้:
โปรแกรมของเราทำงานในลักษณะเดียวกับตัวอย่างข้างต้น อย่างไรก็ตาม คราวนี้เรารวบรวมมูลค่าเพิ่มเติมจากผู้ใช้:ว่าผลิตภัณฑ์ที่พวกเขาใส่ลงในโปรแกรมนั้นแสดงอยู่หรือไม่ เราใช้ nextBoolean() วิธีการรวบรวมค่านี้จากผู้ใช้ จากนั้นเราจะพิมพ์ค่านั้นไปยังคอนโซล
คุณสามารถใช้คลาส Scanner ของ Java เพื่อรวบรวมข้อมูลจากผู้ใช้ คลาส Scanner สามารถรวบรวมข้อมูลหลากหลายประเภทจากผู้ใช้ รวมถึงค่าแบบสั้น สตริง บูลีน และอื่นๆ
ในบทช่วยสอนนี้ เราได้สำรวจวิธีใช้คลาส Java Scanner เพื่อรวบรวมอินพุตของผู้ใช้ โดยใช้ตัวอย่างบางส่วน นอกจากนี้ เราได้พูดคุยถึงประเภทข้อมูลต่างๆ ที่นำเสนอโดยคลาส Scanner ที่เราสามารถใช้เพื่อรวบรวมอินพุตของผู้ใช้
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ดใน Java โปรดอ่านคู่มือวิธีเขียนโค้ดใน Java24รหัส> ป> 31รหัส> ป> 41รหัส> ป> 58รหัส> ป> โปรแกรม Scanner Java ของเราทำงานอย่างไร
เครื่องสแกน Java:ประเภทอินพุต

การรวบรวมค่าบูลีน
import java.util.Scanner;
class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Product name: ");
String product_name = input.next();
System.out.print("Value entered: " + product_name);
System.out.print("Quantity: ");
int quantity = input.nextInt();
System.out.print("Value entered: " + quantity);
System.out.print("On display: ");
boolean on_display = input.nextBoolean();
System.out.print("Value entered: " + on_display);
}
}
65รหัส> ป> 71รหัส> ป> 85รหัส> ป> 97รหัส> ป> 100รหัส> ป> 117รหัส> ป> บทสรุป