
如何对java里的char数组键盘赋值
用户关注问题
怎样从键盘输入字符存入Java的char数组?
我想要让用户通过键盘输入字符,并将这些字符存储到Java中的char数组,该如何实现?
使用Scanner读取字符串并转换为char数组
可以使用Scanner类读取用户输入的字符串,然后调用String的toCharArray()方法将字符串转换为char数组。例如:
Scanner scanner = new Scanner(System.in);
System.out.println("请输入字符串:");
String input = scanner.nextLine();
char[] chars = input.toCharArray();
这样即可得到包含用户输入字符的char数组。
如何限制从键盘读入char数组的长度?
用户输入的字符数量可能不确定,如何控制char数组的大小以防超过预设长度?
读取输入后截取数组或使用固定长度输入
可以先读取完整的字符串,然后根据预设长度截取,例如:
final int MAX_LENGTH = 10;
char[] chars = input.length() > MAX_LENGTH ? input.substring(0, MAX_LENGTH).toCharArray() : input.toCharArray();
这样能保证数组不会超过指定大小。也可以在提示用户输入时明确告知最大长度,避免输入过长数据。
如何使用BufferedReader从键盘输入字符填充char数组?
除了Scanner外,有没有其他方式把键盘输入直接存入char数组?
使用BufferedReader的read方法读取字符
可以借助BufferedReader的read(char[] cbuf, int off, int len)方法直接读取指定数量的字符到char数组,例如:
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] chars = new char[10];
br.read(chars, 0, chars.length);
这段代码会从键盘读取最多10个字符,存储在chars数组中。注意read方法是阻塞的,会等待用户输入。