我有一个简单的家庭作业,我正在制作一个简单的UI(不是GUI),我正在使用扫描仪进行输入。
我想读3个字符串(姓名,地址,社会安全号码)
如果用户没有插入任何内容,只需按Enter键,我的代码就会中断。而不是我需要的3个字符串,我得到更多的字符串,他们错过了匹配。
Scanner input = new Scanner(System.in);
if (input.hasNext()) {
name = input.nextLine();
}
Scanner input = new Scanner(System.in);
if (input.hasNext()) {
address = input.nextLine();
}
Scanner input = new Scanner(System.in);
if (input.hasNext()) {
ssnumb = input.nextLine();
}
因此,如果用户按Enter键,则创建一个新行字符,输入溢出。我怎样才能避免这种情况或消除空行?
示例:
输入的
尼克
火星
一些数字
我会:
Name:
Address:
尼克
Social Security Number:
火星
答案 0 :(得分:1)
这样的事情:
Scanner input = new Scanner(System.in);
while(!input.next().isEmpty()) { // only when you enter literal string
//do your scanner stuff here
}
答案 1 :(得分:1)
尝试
Scanner input = new Scanner(System.in);
String name = "";
while(name.trim().isEmpty()) {
name = input.next();
}