繁体   English   中英

在这种情况下如何使用java-util-scanner处理新行字符?

[英]How can I handle new line character using java-util-scanner in this situation?

我有一个简单的家庭作业,我正在制作一个简单的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:火星

像这样的东西:

Scanner input = new Scanner(System.in);
while(!input.next().isEmpty()) { // only when you enter literal string 
//do your scanner stuff here
}

尝试

Scanner input = new Scanner(System.in);
String name = "";
while(name.trim().isEmpty()) {
    name = input.next();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM