0

我有一个简单的家庭作业,我正在制作一个简单的 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(); 
} 

因此,如果用户按下回车键,创建一个换行符,输入就会溢出。我怎样才能避免这种情况或消除空行?

例子:

进入

缺口

火星

一些数字

我会:

Name:

Address:缺口

Social Security Number:火星

4

2 回答 2

1

像这样的东西:

Scanner input = new Scanner(System.in);
while(!input.next().isEmpty()) { // only when you enter literal string 
//do your scanner stuff here
}
于 2012-12-18T14:58:15.300 回答
1

尝试

Scanner input = new Scanner(System.in);
String name = "";
while(name.trim().isEmpty()) {
    name = input.next();
}
于 2012-12-18T15:04:46.463 回答