import java.util.*; class cal{ private void processInput(String inString) { String[] inputs = inString.split("\\s+"); int result = 0; for (int i=0; i<inputs.length; i++) { if (inputs[i].compareTo("quit") == 0) { System.exit(0); } if (inputs[i].compareTo("end") == 0) { System.out.println(result); } result += Integer.valueOf(inputs[i]); } System.out.println(result); } public static void main(String[] args) { cal app = new cal(); Scanner scan = new Scanner(System.in); while (true) { System.out.println("Please input numbers: "); String str = scan.nextLine(); app.processInput(str); } } }
行ごとに計算するのではなく、実行例のようにendが入力されるまで足し算するようにしたいのですが、enterして改行しても計算しつづけるようにするにはどうすればよいのでしょうか。
・実行例
Please input numbers:
1 2 3 end
6
Please input numbers:
1
2
3
end
> enterして改行しても計算しつづけるようにするにはどうすればよいのでしょうか。
scan.nextLine で得た文字列を空白で分割し、数値なら足し、end なら合計を出力すれば良いと思います。