CodeGym /Java Blog /Toto sisi /Java 中的 Scanner 類中有 nextChar() 嗎?
John Squirrels
等級 41
San Francisco

Java 中的 Scanner 類中有 nextChar() 嗎?

在 Toto sisi 群組發布
在 Java 中接受字符輸入並不像將輸入作為字符串或整數那麼簡單。Java 中的 Scanner 類與nextInt()nextLong()nextDouble()等一起使用。但是,它不支持Java 中的nextChar,這使得字符輸入稍微複雜一些。如果您希望在 Java 中獲取字符輸入,而nextChar()無法正常工作,請按照以下方法正確地將輸入作為字符獲取。

Java 中的 nextChar() 掃描器類

Java Scanner 類中沒有經典的nextChar()方法。在 Java 中接受 char 輸入的最好和最簡單的替代方法是next().charAt(0)。charAt (0)命令與簡單的next()命令結合使用,後者指示 Java 記錄輸入到命令行中的下一個字符或字符串。此輸入可以是字符串、字符或數字。charAt命令是一種過濾不需要的數據類型的方法,並且只將輸入限制為 char 數據類型。由於charAt僅以 char 值的形式返回輸出,因此它將任何類型的數據類型轉換為 char 類型。使用Scanner 和 next()獲取字符輸入,你可以使用這兩行代碼。

Scanner input = new Scanner (system.in);
char a = input.next().charAt(0);
當您使用next()時,您是在告訴 Java 它即將接受未指定數據類型的輸入。此輸入可以包含無限數量的字符。但是,通過使用charAt命令並將“0”作為索引傳遞,您只需將單個字符作為輸入並將其存儲到變量中。輸入行的返回值將是單個字符。因為我們指示編譯器接受它接下來要接收的任何輸入,所以它不關心只初始化了一個字符。下面編寫了在 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