CodeGym /Blog Java /Ngẫu nhiên /Có nextChar() trong Lớp máy quét trong Java không?

Có nextChar() trong Lớp máy quét trong Java không?

Xuất bản trong nhóm
Lấy ký tự đầu vào trong Java không đơn giản như lấy đầu vào là một chuỗi hoặc số nguyên. Lớp Scanner trong Java hoạt động với nextInt() , nextLong() , nextDouble() , v.v. Tuy nhiên, nó không hỗ trợ nextChar trong Java, điều này làm cho việc nhập ký tự trở nên phức tạp hơn một chút. Nếu bạn đang muốn lấy đầu vào char trong Java và nextChar() không hoạt động, đây là cách bạn có thể lấy đầu vào dưới dạng char đúng cách.

lớp máy quét nextChar() trong Java

Không có phương thức nextChar() cổ điển trong lớp Java Scanner. Cách thay thế tốt nhất và đơn giản nhất để lấy đầu vào char trong Java sẽ là next().charAt(0) . Lệnh charAt (0) được sử dụng kết hợp với lệnh next() đơn giản hướng dẫn Java ghi lại ký tự hoặc chuỗi tiếp theo được nhập vào dòng lệnh. Đầu vào này có thể là một chuỗi, ký tự hoặc số. Lệnh charAt là một cách để lọc các kiểu dữ liệu không mong muốn và chỉ giới hạn đầu vào ở kiểu dữ liệu char. Vì charAt chỉ trả về đầu ra ở dạng giá trị char, nên nó chuyển đổi bất kỳ loại kiểu dữ liệu nào thành kiểu char. Để lấy đầu vào char bằng Scanner và next(), bạn có thể sử dụng hai dòng mã này.

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
Khi bạn sử dụng next() , bạn đang nói với Java rằng nó sắp chấp nhận đầu vào của một loại dữ liệu không xác định. Đầu vào này có thể chứa vô số ký tự. Tuy nhiên, bằng cách sử dụng lệnh charAt và chuyển '0' làm chỉ mục, bạn chỉ lấy một ký tự duy nhất làm đầu vào và lưu trữ ký tự đó vào một biến. Giá trị trả về của dòng đầu vào sẽ là một ký tự đơn. Vì chúng tôi đã hướng dẫn trình biên dịch chấp nhận bất kỳ đầu vào nào mà nó sẽ nhận tiếp theo, nên nó không quan tâm rằng chỉ một ký tự đơn được khởi tạo. Các ví dụ mã hóa để chấp nhận đầu vào char trong Java được viết bên dưới.

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);
       }
   }
Đầu ra là:
Nhập bất kỳ ký tự nào: l Biến A Chứa dữ liệu sau: l
Có những lựa chọn thay thế khác để chấp nhận đầu vào char từ người dùng trong Java. Bạn có thể sử dụng reader.useDelimiter(“”)reader.next() , đây cũng là một cách trực quan để hoàn thành tác vụ.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION