Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 从方法返回数组_Arrays_Netbeans_Methods_Return - Fatal编程技术网

Arrays 从方法返回数组

Arrays 从方法返回数组,arrays,netbeans,methods,return,Arrays,Netbeans,Methods,Return,所以我必须显示低于平均水平的分数,以及高于平均水平的所有分数 public static void printIntArray(int[]x) { for(int i=0;i<x.length;i++){ System.out.println (x[i]); } } 我不知道下一步该怎么做,但以下是我目前掌握的情况: public static void main (String[]args) { int[]marks={50,60,30,90,7

所以我必须显示低于平均水平的分数,以及高于平均水平的所有分数

public static void printIntArray(int[]x) {
    for(int i=0;i<x.length;i++){
        System.out.println (x[i]);
    }
}
我不知道下一步该怎么做,但以下是我目前掌握的情况:

public static void main (String[]args) {
    int[]marks={50,60,30,90,70,40,80,44};
    int average=average(marks);
    int[]resultBelowAverage=getBelowAverage(marks,average);
    printIntArray(resultBelowAverage);
    int[]resultAverageandAbove=getAverageandAbove(marks,average);
    printIntArray(resultAverageandAbove);
}
下一种方法用于计算平均值。我得到了正确答案,答案是58

public static int average(int[] marks) {
    int i=0;
    int total=0;
    for(i=0;i<marks.length;i++){
        total=total+marks[i];
    }
    int average=total/i;
    return average;
}
下一个方法获取数组中低于平均值的值。我想这就是我错的地方

public static int[] getBelowAverage(int[]numbers,int av) {
    int size=countBelowAverage(numbers,av);
    int[]belowAverage=new int[size];

    return belowAverage;
}
下一个方法获取数组中高于平均值的值

public static int countBelowAverage (int[] numbers,int av){
    int size=0;
    for(int i=0;i<numbers.length;i++) {
        if (numbers[i]<av) {
            size=size+1; 
        }
    }

    return size;
}
public static int countAboveAverage (int[] numbers,int av) {
    int size=0;
    for(int i=0;i>=numbers.length;i++) {
        if (numbers[i]>=av) {
            size=size+1; 
        }   
    }

    return size;
}
public static int[] getAverageandAbove(int[] numbers,int av) {
    int size=countAboveAverage(numbers,av);
    int[]AboveAverage=new int[size];

    return AboveAverage;
}
最后一种方法打印分类为低于平均值和高于平均值的数组

public static void printIntArray(int[]x) {
    for(int i=0;i<x.length;i++){
        System.out.println (x[i]);
    }
}
公共静态无效打印阵列(int[]x){

对于(int i=0;i在方法中,您只需创建大小合适的数组,一个空数组并返回它们。在返回之前,您应该在这些数组上加上一些低于/高于平均值的标记

就像这里:

int[]belowAverage=new int[size];
//you have an empty array just after creation with nothing inside
//enter here marks from the marks array that are below average
return belowAverage;
与此情况完全相同:

int[]AboveAverage=new int[size];
//you have an empty array just after creation with nothing inside
//enter here marks from the marks array that are above average
return AboveAverage;

您可以使用peeskillet的算法来执行此操作。

尝试类似的方法以获得低于平均值的数组

public static int[] getBelowAverage(int[]numbers,int av){
    int size=countBelowAverage(numbers,av);
    int[]belowAverage=new int[size];

    int j = 0;
    for (int i = 0; i < numbers.length; i++){
        if (numbers[i] < av){
            belowAverage[j] = numbers[i];
            j++;
        }
    }

    return belowAverage;
}
public static int[]getBelowAverage(int[]number,int-av){
int size=countBelowAverage(数字,av);
int[]belowAverage=新int[size];
int j=0;
for(int i=0;i

在GetAverage方法中,对高于平均值的方法执行类似操作,然后在上面创建数组,但不在其中放入任何内容。
你应该再次循环你的数字数组,并用大于平均值的值填充你的高于平均值的数组。

你对哪些方法有问题?对不起,为什么这个问题被否决了?好吧,也许问题不是很清楚,但一位作者努力提供代码,似乎她/他真的在工作在这个问题上,我们不要阻止人们提问。
public static void printIntArray(int[]x) {
    for(int i=0;i<x.length;i++){
        System.out.println (x[i]);
    }
}