#java
#java
Вопрос:
То, что я пытаюсь сделать, это сгенерировать набор из 20 различных случайных чисел, затем отобразить среднее значение, количество положительных чисел и количество отрицательных чисел. Я зашел в тупик при генерации набора чисел для использования, но я думаю, что все остальное я сделал правильно.
int positive = 0;
int negative = 0;
int count = 0;
int total = 0;
int average;
Random r = new Random();
int number = 0;
while (count > 20) {
number = r.nextInt(200);
total = number;
count ;
if (number > 0) {
positive ;
}
else if (number < 0) {
negative ;
}
}
average = (double) total / count;
System.out.println("The number of positives is " positive " ");
System.out.println("The number of negatives is " negative " ");
System.out.printf("The average is: " average);
Комментарии:
1.
while ((number = r.nextInt(150)-67) != 0)
как это предположить, чтобы узнать, когда остановиться на 20?r2. Чего вы ожидаете
while (count >= 66)
от выполнения?3. я вижу вашу правку… почему бы и нет, давайте попробуем…
while(count < 60)
4. Я не уверен, работает ли это, потому что он не захватывает более 1 положительного или отрицательного числа.
Ответ №1:
Вот способ для вас составить 20 случайных чисел от 0 до 100, а затем отобразить результат.
private int total = 0;
private int i = 0;
private Random generator = new Random();
private int pos = 0;
private int neg = 0;
private int max_int = Integer.MIN_VALUE;
private int min_int = Integer.MAX_VALUE;
private int x;
while(i < 20){
x = (int) int val = 100 - generator.nextInt(200);
if(x > max_int)
max_int = x;
if(x < min_int)
min_int = x;
if(x >= 0)
pos ;
else
neg ;
total = x
i ;
}
System.out.println(total / 20.0);
System.out.println("Positive number count :: " pos);
System.out.println("Positive number count :: " neg);
System.out.println("Max :: " max_int);
System.out.println("Min :: " min_int);
Комментарии:
1. Когда я запускаю его, я получаю
2. ‘code’ 6.35 Количество положительных значений равно 1, Количество отрицательных значений равно 0, Наибольшее число равно: 0. И наименьшее число равно: 0. Среднее значение равно: Бесконечность
3. Спасибо, что помогли мне понять это, и, кстати, как насчет добавления значений min и max со средними значениями для обоих? Моя идея такова ‘ if (x> max) { max = x; averageMax = max / положительный; } if (x < min) { min = x; averageMin = min / отрицательный; } }’
4. я не знаю, что вы подразумеваете под средними значениями для max и min, но я обновил код, чтобы в нем были max и min. Если это отвечает на ваш вопрос, пожалуйста, примите ответ
5. Среднее значение для набора отрицательных и положительных чисел — это то, что я пытался сказать.