【发布时间】:2019-08-23 03:38:06
【问题描述】:
我不确定如何验证用户是否只输入了一个字符。我知道我所拥有的长度检查根本不正确。我只是用它来填充。请帮忙。为了找到答案,我尝试了许多不同的方法并搜索了这个网站和其他网站好几天。
final char SIZE = 10;
char [] letter = new char [SIZE];
// initiallizing input device
Scanner scan = new Scanner(System.in);
for (char index = 0; index < SIZE;)
{
System.out.println ("Please enter Letter #" + (index + 1));// gets letter from user
while ((!scan.hasNext("[A-Za-z]+")) || (!scan.hasNext(length(1)))){
if(!scan.hasNext(length (1))){
System.out.println ("Please only enter one Letter at a time: ");
letter [index] = scan.next().charAt(0); // accepts first character entered by user
}
if(!scan.hasNext("[A-Za-z]+")){
System.out.println ("Please enter a valid Letter: ");
letter [index] = scan.next().charAt(0); // accepts first character entered by user
}
else if((scan.hasNext("[A-Za-z]+")) && (scan.next(length(1)))){// makes sure letter entered is a letter
letter [index] = scan.next().charAt(0); // accepts first character entered by user
index++;// increases index if proper letter entered
}
}
}
for (char index = 0; index < SIZE; index++)
{
System.out.println ("Letter #" + (index + 1) + ": " + letter [index]);// prints characters entered by user in order
}
【问题讨论】:
标签: java arrays string user-input