如何从 Java 中的输入获取字符

在 Java 中,我们可以通过输入流来获取用户输入的字符。具体来说,我们可以使用 Scanner 类提供的 next() 或 nextLine() 方法获取用户输入的字符串,然后再从字符串中提取出字符。

获取单个字符

如果我们想要获取一个单独的字符,可以使用 next() 方法:

Scanner scanner = new Scanner(System.in);
char c = scanner.next().charAt(0);

上述代码首先创建了一个 Scanner 对象,然后调用其 next() 方法来获取用户输入的字符串,最后使用 charAt() 方法取出第一个字符。

需要注意的是,如果用户输入的字符串为空或长度为 0,上述代码会抛出异常。为了避免这种情况,我们可以先使用 hasNext() 方法来判断用户是否输入了字符:

Scanner scanner = new Scanner(System.in);
if (scanner.hasNext()) {
    char c = scanner.next().charAt(0);
}

获取多个字符

如果我们想要获取多个字符,可以使用 nextLine() 方法:

Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
char[] chars = line.toCharArray();

上述代码首先创建了一个 Scanner 对象,然后调用其 nextLine() 方法来获取用户输入的整行文字,最后使用 toCharArray() 方法把字符串转换为字符数组。

需要注意的是,如果用户输入的文本中包含空格,上述代码只能获取到第一个空格前的字符。如果我们想要获取包含空格的整个字符串,可以使用 next() 方法:

Scanner scanner = new Scanner(System.in);
String word = scanner.next();
char[] chars = word.toCharArray();

上述代码会获取用户输入的第一个单词作为字符串,然后把字符串转换为字符数组。

最后,需要注意的是,在获取用户输入的字符时,我们应该始终进行异常处理,以避免因为用户输入不合法而导致程序崩溃。此外,我们还可以增加一些输入校验,例如判断用户输入的字符是否在指定的范围内等。