如何计算来自不同类别的数组的中位数?

时间:2015-03-28 01:28:28

标签: arrays max min median

我在不同的类中有一组值。我试图从这个数组计算最大值,最小值和中值。我创建了我的方法,但所有值仍然显示" 0"当我运行程序时。有人可以指出我做错了吗?

import java.util.*;
public class SortedListStats
{
    public int maxTemp;
    public int minTemp;
    public int medianTemp;

    public SortedListStats()
    {
        this.maxTemp = maxTemp;
        this.minTemp = minTemp;
        this.medianTemp = medianTemp;
        InputOutput io = new InputOutput(); //This is my other class that has the array.
    }

    public int maxTemp(int[] io)     //method to determine maximum temperature
    {
        int max = io[0];
        for(int i = 0; i < io.length; i++)
        {
            if(max < io[i])
                max = io[i];
        }//end for statement
        return max;
    }//end method maxTemp

    public int minTemp(int[] io)     //method to determine mininum temperature
    {
        int min = io[0];
        for(int i = 0; i < io.length; i++)
        {
            if(min > io[i])
                min = io[i];
        }//end for statement
        return min;
    }//end class minTemp

    public int medianTemp(int[] io)
    {
        Arrays.sort(io);
        int sum = 0;
        int count = 0;
        int median;
        for(int i = 0; i > io.length; i++)
        {
            sum = sum + io[i];
            count++;
        }
        median = sum/count;
        return median;
    }//end method medianTemp
}//end class SortedListStats

1 个答案:

答案 0 :(得分:1)

您使用什么代码来调用此类的方法?构造函数的前三行不做任何事情。如果您希望他们调用您的计算方法,那么他们需要在&#34; new InputOutput()&#34;之后。他们需要进行函数调用。像:

this.maxTemp = maxTemp(io.getValues());

您应该避免将您的函数命名为与成员变量相同,以避免混淆。例如,&#34; maxTemp()&#34;函数可以是&#34; calculateMaxTemp()&#34;代替。