มันสะดวกในการใช้เครื่องสแกนเนอร์เพื่อรับอินพุตของผู้ใช้ แต่จะแยกสตริงอินพุตแต่ละครั้งด้วยพื้นที่ว่างซึ่งไม่ได้ใช้ในบางจุดเนื่องจากผู้ใช้อาจป้อนสตริงที่มีอักขระว่างอยู่ตรงกลางและคุณต้องการรับสตริงที่สมบูรณ์
คุณสามารถใช้หมวดหมู่ bufferedReader ซึ่งเป็นคลาสที่ให้ไว้ในแพ็คเกจ java.io ดังนั้นเมื่อใช้คลาสนี้คุณต้องนำเข้าแพ็คเกจ java.io ก่อน วิธี readLine() ของวัตถุ bufferedreader จะต้องจัดการข้อยกเว้น ioexception (ข้อยกเว้น) กลไกการจัดการข้อยกเว้นจัดทำโดย Java ให้กับนักออกแบบโปรแกรมเพื่อรับข้อผิดพลาดที่เป็นไปได้ในโปรแกรม ในขั้นตอนนี้วิธีการของคุณในการจัดการกับ IOException คือการเพิ่มการโยน ioException หลังจากวิธีการ main() สิ่งนี้จะถูกกล่าวถึงในรายละเอียดในอนาคต
BufferedReader ยอมรับวัตถุผู้อ่านเมื่อสร้าง เมื่ออ่านสตรีมอินพุตมาตรฐานจะใช้ InputStreamReader ซึ่งสืบทอดคลาส Reader คุณใช้วิธีการต่อไปนี้เพื่อสร้างวัตถุบัฟเฟอร์สำหรับสตรีมอินพุตมาตรฐาน:
bufferedReader buf = bufferedReader ใหม่ (ใหม่ inputStreamReader (system.in));
คำหลัก "ใหม่" หมายความว่าคุณต้องการสร้างวัตถุให้คุณ BufferedReader BUF หมายความว่าคุณประกาศตัวแปรวัตถุของประเภท bufferedReader ในขณะที่ BufferedReader() ใหม่หมายความว่าคุณสร้างวัตถุด้วยคลาส BufferedReader newInputStreamReader(System.in) หมายความว่าคุณยอมรับ System.in Object เพื่อสร้างวัตถุ InputStreamReader
คุณสามารถดูย่อหน้านี้หลังจากเรียนรู้แนวคิดการวางแนววัตถุ หากคุณเข้าใจยากในขั้นตอนนี้โปรดจำไว้ว่าวิธีการสร้างวัตถุการอ่านบัฟเฟอร์ด้านบน โดยปกติแล้ว bufferedReader จะใช้เพื่อรับอินพุตของผู้ใช้ นี่คือสิ่งที่ฉันเขียน
โปรแกรมต่อไปนี้สามารถรับอินพุตของผู้ใช้ (สามารถรวมอินพุตไบต์ว่าง) ในโหมดข้อความและแสดงซ้ำในคอนโซลหลัก:
นำเข้า java.io.*; คลาสสาธารณะ getInput {โมฆะคงที่สาธารณะหลัก (สตริง [] args) พ่น ioexception {bufferedreader buf = newBufferedReader (newInputStreamReader (System.in)); system.out.print ("โปรดป้อนคอลัมน์ของข้อความ:"); ข้อความ);}}เมธอด readline () จะส่งผ่านอินพุตไบต์ทั้งหมดก่อนที่ผู้ใช้จะกดปุ่ม Enter ซึ่งไม่รวมการกด ENTER Return Bytes ล่าสุด ตัวอย่างการดำเนินการของโปรแกรมมีดังนี้:
โปรดป้อนคอลัมน์ข้อความ: นี่คือการทดสอบ!
ข้อความที่คุณป้อน: นี่คือการทดสอบ!
ข้างต้นคือทั้งหมดที่เกี่ยวกับการได้รับอินสแตนซ์สตริงอินพุตใน Java ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!