java - 无法将数组传递给第二个方法

标签 java arrays

我在家庭作业上遇到了困难,而且我不太擅长正确编写代码,我能理解它是如何工作的,但自己创造它是一件很困难的事情。我应该编写一个应用程序来创建从 1 到 100 的 10 个随机数的数组,然后将它们打印出来。第二种方法计算平均值,第三种方法显示所有低于该平均值的数字。我已经完成了前两部分,但它只显示了 10 个随机整数,而不是计算平均值,我的代码是这样的;

import java.util.Random;

public class ArrayTest{

public static void main(String[] args){

    Random random= new Random();
    int numbers[]= new int[10];
    for (int i = 0; i < 10; i++)
    {
    int number= random.nextInt(100);
    System.out.println(number);
    numbers[i]=number;
    }
}

public static int average(int [] array){
    int sum =0;
    for (int i = 0; i < array.length; i++){
        sum += array[i];
        int finalAvr = array[i] /10;
    }
    return sum / 10;
    }
}

我哪里错了,要温柔点。

最佳答案

第一个问题是你从不调用average()方法:

Random random= new Random();
int numbers[]= new int[10];
for (int i = 0; i < 10; i++)
{
   int number= random.nextInt(100);
   System.out.println(number);
   numbers[i]=number;
}
System.out.println(average(numbers));

对于第三种方法,您需要遍历 numbers 数组并显示小于平均值的数字。所以像这样:

public static void lowerNums(int average, int[] arr) {
    //For each int in the array
    for(int num : arr) {
       //If the int is less than the average, print it out
       if(num < average) {
          System.out.println(num);
       }
    }
}

或者使用流:

Arrays.stream(arr).filter(e -> e > average).forEach(System.out::println);

关于java - 无法将数组传递给第二个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53244724/

相关文章:

java - 对远程 Web 服务的 Spring Boot http 调用

Java 数组列表越界

c - 一维数组的 MPI_scatter

java - 如何将 solr 与 Dismal RequestHandler 一起使用?

Python数组: Take two and skip two

javascript - 在 for-in 循环中找不到值

c - C 数组中的最大最小值(带指针)

java - 如何使用键盘调整 IntelliJ IDEA 中的工具窗口大小?

java - 快速排序越界错误

java - 如何序列化/反序列化 (JSON) ArrayLIst<A>,它在 Java 中有一个 ArrayLIst<B> 作为字段