
Java เวอร์ชัน ต่างๆ จะมีคุณสมบัติที่แตกต่างกัน ตัวอย่างเช่น เครื่องสแกนใน Java ไม่ได้ถูกล็อคในเวอร์ชันก่อนหน้า และถูกใช้เพื่อรับข้อมูลอินพุตโดยเฉพาะ ที่นี่เราต้องพูดถึงอินพุตสตริงที่ใช้กันทั่วไป มีสองวิธีในคลาส Scanner: next และ nextLine ต่อไป เราจะให้คำอธิบายโดยละเอียดเกี่ยวกับวิธีการรับสตริงทั้งสองวิธีนี้
1.วิธีต่อไป
หากอักขระที่ถูกต้องที่ป้อนมีช่องว่างตามหลัง next() จะใช้ช่องว่างเป็นตัวสิ้นสุด ดังนั้น หากมีช่องว่างตรงกลางสตริงอินพุต จะไม่สามารถรับสตริงทั้งหมดได้โดยใช้วิธีถัดไป
นำเข้า java.util.Scanner;
TestScanner1 ระดับสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
สแกนเนอร์สแกน = สแกนเนอร์ใหม่ (System.in);
// รับข้อมูลจากแป้นพิมพ์ System.out.println("รับในโหมดถัดไป:");
// ตรวจสอบว่ายังมีอินพุตอยู่หรือไม่ if (scan.hasNext()) {
// วิธีถัดไปได้รับสตริง String str1 = scan.next();
System.out.println("ข้อมูลที่ป้อนคือ: " + str1);
-
-
- คุณจะเห็นว่าสตริง Java ไม่ได้ส่งออก
วิธี 2.nextLine
nextLine() ใช้ Enter เป็นอักขระสิ้นสุด กล่าวคือ เมธอด nextLine() จะส่งคืนอักขระทั้งหมดก่อนที่จะขึ้นบรรทัดใหม่
นำเข้า java.util.Scanner;
TestScanner2 คลาสสาธารณะ {
โมฆะคงที่สาธารณะ main (String [] args) {
สแกนเนอร์สแกน = สแกนเนอร์ใหม่ (System.in);
// วิธี NextLine ได้รับสตริง System.out.println ("วิธี nextLine ได้รับ: ");
// ตรวจสอบว่ายังมีอินพุตอยู่หรือไม่ if (scan.hasNextLine()) {
//รับข้อมูลจากคีย์บอร์ด String str2 = scan.nextLine();
System.out.println("ข้อมูลที่ป้อนคือ: " + str2);
-
-
-ข้างต้นคือวิธีที่คลาส Scanner ใน Java รับสตริง หลังจากอ่านบทความแล้ว คุณจะพบว่าส่วนถัดไปได้รับส่วนหนึ่งของสตริง ในขณะที่ nextLine จะแสดงเนื้อหาอักขระก่อนที่ทุกคนจะส่งคืน ผลลัพธ์