从java中用户输入的方法返回数组

时间:2012-07-29 21:01:41

标签: java

我在public static double getAverage (double average) {

旁边收到了非法的表达错误

我也在double average = sum /(double) arr.length;

旁边收到错误消息,指出“未使用可变平均值”

我已经工作了一段时间,我不知道该怎么办。 有什么建议吗?

import java.util.Scanner;

public class Average {

  public static void main(String [] args){                    
    Scanner input = new Scanner(System.in);
    System.out.print("How many numbers you want to display: ");

    int n=input.nextInt();
    System.out.println("Enter array values: ");

    int arr [] = new int[n];
    int sum=0;

    for(int i = 0; i < arr.length; i++) {
      arr[i] = input.nextInt();
      sum+=arr[i];
      double average = sum / (double) arr.length;

      public static double getAverage(double average){     
        System.out.println("Average value of array: " + average);
        {
          return average; 
        }
      }
    }

2 个答案:

答案 0 :(得分:2)

您正在方法中创建方法,在getAverage(...)方法中声明main(...)方法 - 而Java不允许这样做。使用右大括号结束主方法,并在main方法之外创建下一个方法。请阅读有关如何在教科书或the Java Tutorials, methods section中创建方法的内容,因为它将在那里进行解释。

您还希望使用正确,一致且统一的缩进样式更好地格式化代码。这样做可以防止你将来犯同样的错误。

答案 1 :(得分:0)

删除所有制表符并将其替换为空格后,希望您可以看到getAverage()方法是在main()内声明的。这是不允许的。您需要在类中声明方法,但不能在其他方法中声明。一旦修复了函数声明,我们就可以在那里工作。