CodeGym /จาวาบล็อก /สุ่ม /มี nextChar() ใน Scanner Class ใน Java หรือไม่
John Squirrels
ระดับ
San Francisco

มี nextChar() ใน Scanner Class ใน Java หรือไม่

เผยแพร่ในกลุ่ม
การป้อนอักขระใน Java นั้นไม่ง่ายเหมือนการป้อนข้อมูลเป็นสตริงหรือจำนวนเต็ม คลาส Scanner ใน Java ทำงานร่วมกับnextInt() , nextLong() , nextDouble()ฯลฯ อย่างไรก็ตาม ไม่รองรับnextCharใน Java ซึ่งทำให้การป้อนอักขระซับซ้อนขึ้นเล็กน้อย หากคุณต้องการรับอินพุต char ใน Java และnextChar()ใช้งานไม่ได้ นี่คือวิธีที่คุณสามารถรับอินพุตเป็น char ได้อย่างถูกต้อง

คลาสสแกนเนอร์ nextChar() ใน Java

ไม่มี เมธอด nextChar()แบบคลาสสิกในคลาส Java Scanner ทางเลือกที่ดีที่สุดและง่ายที่สุดในการรับอินพุต char ใน Java คือnext().charAt(0 ) คำสั่ง charAt (0)ใช้ร่วมกับ คำสั่ง next() อย่างง่าย ซึ่งสั่งให้ Java บันทึกอักขระหรือสตริงถัดไปที่ป้อนลงในบรรทัดคำสั่ง อินพุตนี้อาจเป็นสตริง อักขระ หรือตัวเลขก็ได้ คำ สั่ง charAtเป็นวิธีการกรองชนิดข้อมูลที่ไม่ต้องการ และจำกัดอินพุตให้เป็นชนิดข้อมูล char เท่านั้น เนื่องจากcharAtจะส่งกลับเอาต์พุตในรูปของค่าถ่านเท่านั้น จึงแปลงชนิดข้อมูลชนิดใดก็ได้เป็นชนิดถ่าน ในการรับอินพุตถ่านโดยใช้Scanner และ next()คุณสามารถใช้โค้ดสองบรรทัดนี้

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
เมื่อคุณใช้next()คุณกำลังบอก Java ว่ากำลังจะยอมรับอินพุตของประเภทข้อมูลที่ไม่ระบุ อินพุตนี้สามารถมีอักขระจำนวนไม่ จำกัด อย่างไรก็ตาม เมื่อใช้ คำสั่ง charAtและส่ง '0' เป็นดัชนี คุณจะรับอักขระเพียงตัวเดียวเป็นอินพุตและเก็บไว้ในตัวแปร ค่าที่ส่งคืนของบรรทัดอินพุตจะเป็นอักขระตัวเดียว เนื่องจากเราสั่งให้คอมไพเลอร์ยอมรับอินพุตใด ๆ ที่กำลังจะได้รับในครั้งต่อไป จึงไม่สนใจว่าจะมีการกำหนดค่าเริ่มต้นเพียงอักขระเดียว ตัวอย่างการเขียนโค้ดเพื่อรับอินพุต char ใน Java เขียนไว้ด้านล่าง

import java.util.Scanner;
   public class CharExample {
       public static void main(String[] args) {
 
           //Initializing input
           Scanner input = new Scanner(System.in);
           System.out.print("Input any character: ");
 
           //Using next().charAt(0) to Accept Char Input
           char a = input.next().charAt(0);
 
           //Printing the Contents of 'a'
           System.out.println("The Variable A Contains the Following Data: " + a);
       }
   }
ผลลัพธ์คือ:
ป้อนอักขระใดๆ: l ตัวแปร A มีข้อมูลต่อไปนี้: l
มีทางเลือกอื่นในการรับอินพุตถ่านจากผู้ใช้ใน Java คุณสามารถใช้reader.useDelimiter(“”)และreader.next()ซึ่งเป็นวิธีที่ใช้งานง่ายในการทำงานให้เสร็จ

อ่านเพิ่มเติม:

ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION