2016-10-01 3 views
0

Это вопрос о домашней задаче, который мне нужно ответить.Массив, который будет объявлять 5 случайных чисел от 0 до 100. Затем он будет усреднять все числа, которые превышают 70

Напишите полную программу, объявляющую массив из пяти целых чисел, от 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. За последние несколько строк кода, которые моя попытка изолировать numebrs которых более 70 из других нет.

ответ

0

попробовать это:

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); 
    } 

} 
+0

Вау, это работает. Мне пришлось удалить System.out.print сразу после счетчика ++. Это заставило его выглядеть так, как если бы программа имела более 5 номеров. Итак, что мне нужно было, чтобы создать общую и счетную переменную, чтобы я мог разделить счетчик от общего числа. Я смотрю на это, и я думаю, что сейчас понимаю. Спасибо! –

0

Вы можете просто отслеживать, сколько номеров есть выше 70 и какова их сумма есть. public static void main (String [] args) { 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 (средний); }

+0

Thnak вы также. Я благодарю вас за то, что вы нашли время ответить. –