#java #arrays #eclipse #average
#java #массивы #eclipse #среднее
Вопрос:
Это вопрос домашнего задания, на который мне нужно ответить.
Напишите полную программу, которая объявляет массив из любых пяти целых чисел от 0 до 100 и усредняет только те целые числа, которые больше 70 .
Вот мой код, который я написал до сих пор.
import java.util.Random;
public class TestLoop{
public static void main(String[] args){
Random Rnum = new Random();
int[] ar1 = new int[100];
for(int i = 0; i < 5; i ) {
ar1[i] = Rnum.nextInt(100);
System.out.print(ar1[i] " ");
if(ar1[i] > 70)
System.out.print(ar1[i] " ");
}
}
}
Это позволяет мне получить мои пять случайных чисел, но, похоже, я не могу понять, как усреднить те, которые будут больше 70. Последние несколько строк кода — это моя попытка изолировать числа, превышающие 70, от остальных, которых нет.
Ответ №1:
попробуйте это:
public static void main(String[] args){
Random Rnum = new Random();
int[] ar1 = new int[100];
int counter=0;
double total=0;
for(int i = 0; i < 5; i ) {
ar1[i] = Rnum.nextInt(100);
System.out.print(ar1[i] " ");
if(ar1[i] > 70)
{
total =ar1[i];
counter ;
System.out.print(ar1[i] " ");
}
}
if(counter>0)
{
double average=total/counter;
System.out.println("average=" average);
}
}
Комментарии:
1. Вау, это работает. Однако мне пришлось удалить System.out.print сразу после счетчика . Это выглядело так, как будто в программе было более 5 чисел. Итак, мне нужно было создать переменную total и counter, чтобы я мог разделить счетчик на общее количество. Я просматриваю это и, думаю, теперь понимаю. Спасибо!
Ответ №2:
Вы могли бы просто отслеживать, сколько чисел выше 70 и какова их сумма. public static void main(String[] аргументы){ Random Rnum = new Random();
//added variables
int count = 0;
int average = 0;
int[] ar1 = new int[100];
for(int i = 0; i < 5; i ) {
ar1[i] = Rnum.nextInt(100);
System.out.print(ar1[i] " ");
if(ar1[i] > 70)
// increment count
count ;
// add the number greater than 70 to the average
average = ar[i];
System.out.print(ar1[i] " ");
}
//once out of the loop devide the sum of all //integers greater than 70 (stored in average) by //the number of integers that were greater than 70 (stored in count)
среднее = среднее / количество;
System.out.println(среднее значение); }
Комментарии:
1. Спасибо и вам. Я ценю, что вы нашли время для ответа.