1

ユーザーが入力したときにこれらのフィールドが空白にならないようにするにはどうすればよいですか? これはクラス ファイルです。入力された情報は、別のメイン ファイルによって呼び出されます。情報が入力されていることを確認したいのですが、最後に他のすべてがコンパイルされるまではそうではありません(作業中の他のクラスファイル)。名前が空白のままの場合、名前フィールドが空白のままであり、終了ボタンをクリックする前に入力する必要があることをプログラムに示してもらいたいです。ありとあらゆる助けをいただければ幸いです。

import java.util.Scanner;
public class fillInfo
{
public String name;
public String address;
public String telephone;
public void readInput()
{
    Scanner keyboard = new Scanner(System.in);
    System.out.println("What is the customers name?");
    name = keyboard.nextLine();
    System.out.println("What is the customers telephone number?");
    telephone = keyboard.nextLine();
    System.out.println("What is the customers address?");
    address = keyboard.nextLine();
}
public void writeOutput()
{
System.out.println("Sold to: "+ name);
System.out.println("Telephone: "+ telephone);
System.out.println("Address: "+ address);
}
}
4

2 に答える 2

0

フィールド変数ごとに、次のことができます。

while (name == null || name.trim().isEmpty()) {
   System.out.println("What is the customers name?");
   name = keyboard.nextLine();
}

更新:プログラムの終了直前に値を確認し、次のようなヘルパー メソッドを呼び出すことができます。

if (name == null || name.trim().isEmpty()) {
   name = getInputValue("What is the customers name?");
}

対応するヘルパー メソッドを使用:

private String getInputValue(String prompt) {
   System.out.println(prompt);
   Scanner keyboard = new Scanner(System.in);
   return keyboard.nextLine();
}

注:Scannerこれは、不足しているフィールド変数ごとに新しいインスタンスが作成されるため、最初のアプローチよりもリソースの効率が低下します。

于 2012-10-18T23:11:56.930 に答える
0

多分あなたが次のようなことをしたなら:

Scanner keyboard = new Scanner(System.in);
System.out.println("What is the customers name?");
name = keyboard.nextLine();
while(name="")//empty string (nothing) entered
{
System.out.println("Please enter a valid name");
name = keyboard.nextLine();
}

. . .

于 2012-10-18T23:08:14.227 に答える