嗨,我正在尝试构建一个程序,它将采用整数和整数的arraylist找到平均值并打印出来

时间:2017-11-13 02:12:02

标签: javascript arrays methods average

这是我正在尝试制作的代码,到目前为止,主要方法中只有两个错误,我试图从这里调用其他方法,这是什么给我错误,请帮助。我需要做些什么才能解决这个问题。

public static void main(String[] args) {
    ArrayList<Integer> userNumbers = getInput();
    double avg = average(arrayList <integerList>);//error calling a method
    printAverage(avg, integerList);// error calling a method
}
public static ArrayList<Integer> getInput() {
    ArrayList<Integer> integerList = new ArrayList<Integer>();
    Scanner in = new Scanner(System.in);
    System.out.println("Enter 5 to 10 positive integers all on one line, 
    seperated"
        + " by spaces; enter q to quit data entery:");
    integerList.add(in.nextInt());
    return integerList;
    }// getting the numbers for the array list
    public static double average(ArrayList<Integer> integerList){
    double avg = integerList.stream().mapToInt(val -> 
    val).average().getAsDouble();

    return avg;
    }//calculating the average
    public static void printAverage(ArrayList<Integer> integerList, double avg) 
 {
    System.out.println("The average of the numbers " + integerList + " is " 
    + avg);
 }//printing the average

2 个答案:

答案 0 :(得分:0)

Double avg = average(userNumbers);

printAverage(userNumbers, avg);

这是您在main()

中突出显示的两个错误

答案 1 :(得分:-2)

在main方法中,您传递的是average(arrayList)参数,但您只想传入Arraylist的名称,即userNumbers。 与printAverage(avg,integerList)相同的应该是printAverage(avg,userNumbers)。

这是因为您在main中定义了一个名为userNumbers的局部变量。