0

簡単な宿題があり、(GUIではなく)簡単なUIを作成しており、入力にスキャナーを使用しています。

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:火星

4

2 に答える 2

1

試す

Scanner input = new Scanner(System.in);
String name = "";
while(name.trim().isEmpty()) {
    name = input.next();
}
于 2012-12-18T15:04:46.463 に答える
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 に答える