好吧,即时通讯试图找出数量少于
第一个数组的均值。除了最后一部分,其他所有东西都在工作,我
无法弄清楚。底部的代码是我遇到的问题。


例如。如果我输入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);
    }
    }
//////////////////////////////////////////////////////////////////////////////////////////////

}

}

最佳答案

您可以在下面使用此代码

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。

08-27 17:58
查看更多