ループから最大数を検索しようとしていますが、発生回数です。これまでに書いたコードはここにあります。ループからの最大数の検索
public class MaxNumbers {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int max = 0;
int number = 0;
int count_max = 0;
while (true) {
number = input.nextInt();
if (number == 0) {
break;
}
number = max;
if (max > number) {
max=number;
count_max++;
}
}
System.out.println("Max Number: " + number);
System.out.println("Occurences: " + count_max);
}
出力がゼロになっていますが、論理的なエラーは何ですか?
number = max
if (max > number) {
最大続いあなただけにそれらを設定するため、数よりも大きくなることはありません:
数== 0は、多分あなたは反復がinput.nextInt() ''の値をチェックします決して場合は、ループを壊しているが、あなたの 'while'文は、私は、コンパイラはいくつかを作る感じている無限に見えますこれを奇妙な最適化、最大数(最大数?)を得るあなたの論理は疑問です –
これは宿題の質問であれば、そのようにタグを付けてください。 :) – Erica
以下のコード例がうまくいかない場合は、変数 'number'を表示するか、デバッガを使って何が起きているのかを確認してください。 – UmNyobe