输出空白——Java程序计算数组的平均值

Posted

技术标签:

【中文标题】输出空白——Java程序计算数组的平均值【英文标题】:output blank--Java program to calculate average of array 【发布时间】:2014-01-28 19:52:16 【问题描述】:

我正在编写一个程序,它以 10 个浮点数作为输入,并显示数字的平均值,然后显示所有大于平均值的数字。我正在使用一种将双精度数组作为参数并返回数组中数据的平均值的方法。但是,我的问题是当我运行我的程序时,输出窗口完全是空白的。我认为这是因为我没有在我的方法中调用 main 方法。但是,我不确定如何编写该代码。谢谢你。

import java.util.Scanner;

public class Average 

public static void main(String[] args) 


public double average(double[] number) 
    Scanner scanner = new Scanner(System.in);

    int x = 0;
    double sum = 0;
    double[] numberList = new double[10]; //array to hold all numbers
    double[] largerList = new double[10]; //array to hold numbers greater than the average


    int numberIndex = 0;
    int largerIndex = 0;



    System.out.printf("Please enter 10 floating-point numberes.\nIf more than 10 values are entered, the numbers following 10 are ignored.\nIf less than 10 numbers are entered, the program will wait for you to enter 10.\n");

    for (int i = 0; i < 10; i++) 


        try  //try catch exception to catch decimal inputs as well as more /less than 10 integers
            x = scanner.nextInt();
            sum += numberList[x]; //add up all inputs to find sum
         catch (Exception e) 
            System.out.println("Invalid input! Please reenter 10 integer values.");
            scanner = new Scanner(System.in);
            i = -1;
            numberIndex = 0;
            largerIndex = 0;
            numberList = new double[10];
            largerList = new double[10];
            continue;
        
    

    for (int i = 0; i < number.length; i++) 
        sum = sum + number[i];
        double average = sum / number.length;
        System.out.println("Average value of your input is: " + average);
        System.out.println();

        //return average;

        if (x > average) 
            largerList[largerIndex] = x; //add negative input to negativeList array
            largerIndex = largerIndex + 1;

        
    



    for (int i = 0; i < largerIndex; i++) 
        System.out.println(largerList[i]);
    
    return 0;






【问题讨论】:

public static void main(String[] args) new Average().average(new double[10]); 【参考方案1】:
well,you are using a non static method "average()" for your task which needs an instances of the class to run which are not creating anywhere.so there are only two options:-

#1.create an instances of your class then call it.
   public static void main(String... s)
   
        Average obj=new Average();
         obj.average();
   


#2.make "average()" a static method by adding static keyword.

   public static double average()
   

     //your code.....
   

   public sttatic void main(String... s)
   

      average();
   
your dont need to keep an argument in your method.

【讨论】:

【参考方案2】:

回答主要问题...

然而,我的问题是当我运行我的程序时,输出窗口是完全空白的。我认为这是因为我没有在我的方法中调用 main 方法。但是,我不确定如何编写该代码。

public static void main(String[] args) 
    new Average().average(new double[10]);

或者你可能在想这样的事情......

public static void main(String[] args) 
    double[] numbers = 2,3,4,5,6,4,3,2,1,3;
    new Average().average(numbers);

从上面运行的输出(给定双打):

Please enter 10 floating-point numberes.
If more than 10 values are entered, the numbers following 10 are ignored.
If less than 10 numbers are entered, the program will wait for you to enter 10.
2
3
3
4
1
2
3
4
5
1
Average value of your input is: 0.2

Average value of your input is: 0.5

Average value of your input is: 0.9

Average value of your input is: 1.4

Average value of your input is: 2.0

Average value of your input is: 2.4

Average value of your input is: 2.7

Average value of your input is: 2.9

Average value of your input is: 3.0

Average value of your input is: 3.3

1.0
1.0
1.0
Press any key to continue . . .

如果您对代码本身有疑问,那么最好创建一个新问题或对其进行编辑以使其更清晰。

祝你编码顺利。

【讨论】:

【参考方案3】:

您需要做的是在您的main 方法中创建Average 类的实例并调用average() 方法。

当您从用户那里获取输入时,为什么要在 average() 方法中解析 double 数组?

【讨论】:

【参考方案4】:

您的方法average() 接受一个双精度数组,然后从标准输入中检索另一个数组。这没有意义。

要么获取双打并将它们传递给方法,要么不将它们传递给方法并从标准输入获取它们。

【讨论】:

以上是关于输出空白——Java程序计算数组的平均值的主要内容,如果未能解决你的问题,请参考以下文章

银行排队问题平均等到时间计算java?

在 Java 中使用数组查找最小值、最大值和平均值

用java二维数组完成两个同学三科成绩,计算每位同学的总分, 各科的平均分

java 关于平均值的计算!

要求做个java程序用户输入数字逗号隔开, 计算下面的公式 多谢了

用数组求一个班级的平均成绩,请写出Java设计程序。