入力からの最後の行がループ上で回避されるという問題があります。最後の入力行がループに含まれていません
例入力:
+ 2 3
* 23 23
/65 54
+ 23 23
プログラムは私を与えている:
5
529
1
最後の行が計算されていないのはなぜ?
Scanner input = new Scanner(System.in);
for(int i = 0; input.hasNextLine(); i++){
char c = input.next().charAt(0);
int x = input.nextInt();
int y = input.nextInt();
if(c == '*'){
System.out.println(x*y);
}
else if(c == '/'){
System.out.println(x/y);
}
else if(c == '-'){
System.out.println(x-y);
}
else if(c == '+'){
System.out.println(x+y);
}
else if(c == '%'){
System.out.println(x%y);
}
}
ループ中もテストしましたが、まったく同じです。助けてもらえますか?
最後のものの次の行がないので、最後の入力後に空白行を入力してください;) –
これは修正なしで私の日食で動作しています。それをもう一度実行してください。 –