はじめまして。
javaで1~10の乱数を5つ発生させ、合計と平均を出した後に平均よりも大きい値と小さい値を表示したいのですが、
二つ以上表示できません。どうかご教示お願いします。
public static void main(String[] args) {
int data[] = new int[5]; int sum = 0; int avg = 0; int big = 0; int small = 0; for (int i = 0; i < data.length; i++) { data[i] = (int)(Math.random()*10)+1; System.out.print(data[i] + " "); sum += data[i]; avg = sum / data.length; if(data[i] > avg) { big = data[i] ; }else if(data[i] < avg) { small = data[i]; } } System.out.println(); System.out.println(); System.out.println("合計値; " + sum); System.out.println("平均値; " + avg); System.out.println(); System.out.println("平均値より大きい数; " + big); System.out.println("平均値より小さい数; " + small); }
}
表示される結果は、例えば
5 8 6 10 1
合計値; 30
平均値; 6
平均値より大きい数; 10
平均値より小さい数; 1
のようになり、平均値より大きいはずの8や小さいはずの5が出せません。
二つ以上の変数に代入するようなやり方が良いのでしょうか?わかりません。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/14 11:06