CodeGym /Java 博客 /随机的 /Java 中的 Scanner 类中有 nextChar() 吗?
John Squirrels
第 41 级
San Francisco

Java 中的 Scanner 类中有 nextChar() 吗?

已在 随机的 群组中发布
在 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