Java Массив: определение количества чисел меньше среднего - PullRequest
0 голосов
/ 05 мая 2020
  • Хорошо, я пытаюсь найти количество чисел, которые меньше среднего значения первого массива. Все, кроме последней части, работает, и я не могу понять. Код внизу - это то, с чем у меня проблемы.

, например. если я ввожу 1 2 3 4 5. среднее значение 3, а 1 и 2 меньше 3, поэтому ответ будет 2 числа.

public static void main(String[] args) {

        Scanner in=new Scanner(System.in);  
            System.out.println("How many integers should we analyze?" );
                int num; 
                    num=in.nextInt();               
while ( num <= 2) 
{       
System.out.println( "Please reenter, integer must be greater than 1" );
num=in.nextInt();
}   
     int[] arr = new int[num];
        System.out.println( "Please enter the "+ num +" integers:" );   
            for (int i = 0; i < arr.length; i++) 
    {
        arr[i] = in.nextInt(); 
    }                   
    System.out.print("Number of integers input: " + num);
    System.out.println();

    double total = 0;
    for( int element : arr) {
        total += element;

    }
    System.out.print("Total: " + (int) total);
    System.out.println();


    double mean = 0;
     if ( arr.length > 0) {
         mean = total / arr.length;  
     }
     System.out.print("Mean: " + mean );


     int big = arr[0];
    for (int i = 0 ; i < arr.length; i++) {
        if (arr[i] > big) {
            big = arr[i];           
        }
    }
    System.out.println();


    System.out.print("Largest: " + big);    
    System.out.println();

///////////////////////////////////////////////////////////////////////////////////////////////     

    int less;               
    for(int i=0;i<mean;i++) {

        int num2 = i;
    int[] arr2 = new int[num2];
        int count = 0;
    while ( num2 != 0 )
    {
        num2/=10;
        ++count;
        System.out.print("Numbers less than the mean: " + count);
    }   
    }
//////////////////////////////////////////////////////////////////////////////////////////////

}

}

Ответы [ 2 ]

0 голосов
/ 05 мая 2020

Вы должны перебирать массив и проверять каждый элемент, находятся ли они ниже среднего. Если да, то увеличивайте целое число.

int less = 0;
for(int i = 0; i < arr.length; i++) {
    if(arr[i] < mean) {
        less++;
    }
}
System.out.print("Numbers less than the mean: " + less);
0 голосов
/ 05 мая 2020

вы можете использовать этот код ниже

int count = 0;
for(int i =0;i< arr.length;i++) {
    if(arr[i] < mean)
        count++;
}
System.out.println("numbers less than mean " + count);

он выполняет цикл по всем исходным целым числам, и если одно из них меньше среднего, переменная count увеличивается на 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...