0

ユーザーが文字列「end」を入力するまで、ユーザーから文字列入力を継続的に取得する必要があるプログラムの助けが必要です。次に、ユーザーが入力したすべての入力を「終了」まで出力する必要があります。for ループを使用しようとしましたが、取得できません。

4

3 に答える 3

2

読み取りにはjava.util.Scannerを使用し、while ループの状態でユーザー入力をチェックし続けます。

于 2012-12-31T13:08:51.860 に答える
1

試す

List<String> list = new ArrayList<>();
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()) {
        String s = sc.nextLine();
        if (s.equals("end")) {
            break;
        }
        list.add(s);
    }
    for(String s : list) {
        System.out.println(s);
    }

または

StringBuilder sb = new StringBuilder();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
for(;;) {
    String s = br.readLine();
    if (s.equals("end")) {
        break;
    }
    sb.append(s).append("\n");
}
System.out.println(sb);
于 2012-12-31T13:14:12.457 に答える
1

必要に応じて I/O API を使用した例を次に示します。

try{
    BufferedReader br = 
                  new BufferedReader(new InputStreamReader(System.in));

    ArrayList<String> inputs = new ArrayList<String>();
    String input;

    while((input=br.readLine())!=null){
        if(input.equalsIgnoreCase("end")) {
            break;
        }
        inputs.add(input);
    }
    for(String str: inputs) {
        System.out.println(str);
    }

}catch(IOException io){
    io.printStackTrace();
}
于 2012-12-31T13:37:32.450 に答える