数组驱动程序类Java

时间:2013-02-13 06:36:25

标签: java arrays class methods driver

嘿伙计们,我在弄清楚如何为我的Array类编写驱动程序类时遇到了问题。

我的问题

1.如何让我的Array类中的数组引用Driver类中的数组?

2.如何将我的类方法从我的Array类传递给我的Driver类,以便打印出来?

这是我的两位代码

主要课程:

import javax.swing.*;
import java.util.*;
public class Array
{

    double sum = 0;
    int max = 0;
    int min = numbers[0];
    double sd = 0;
    int mode = 0;
    int modeCount = 0;
    public double average()
    {
        for(int i=0; i<numbers.length; i++)
        {
            sum = sum + numbers[i];
        }

        double average = sum / numbers.length;
        return average;
    }

    public int max()
    {
        for(int i=0; i<numbers.length; i++)
        {
            if(numbers[i] > max)
            {
                max = numbers[i];
            }
        }
        return max;
    }

    public int min()
    {
        for(int i=0; i<numbers.length; i++)
        {
            if(numbers[i] < min)
            {
                min = numbers[i];
            }
        }
        return min;
    }

    public double standardDeviation()
    {
        for (int i=0; i<numbers.length;i++)
        {
            sum = sum + numbers[i];
            double average = sum / numbers.length;
            {
                sd += ((numbers[i] - average)*(numbers[i] - average)) / (numbers.length - 1);
            }
        }
        double standardDeviation = Math.sqrt(sd);
        return standardDeviation;
    }

    public int mode()
    {
        for (int i = 0; i < numbers.length; ++i) 
        {
            int count = 0;
            for (int j = 0; j < numbers.length; ++j) 
            {
                if (numbers[j] == numbers[i]) ++count;
            }
            if (count > modeCount) {
                modeCount = count;
                mode = numbers[i];
            }
        }
        return mode;
    }
}

驱动程序类:

import javax.swing.*;
import java.util.*;

public class ArrayTest
{
    public static void main(String [] args)
    {
        int[] numbers;
        numbers = new int [20];
        Random rand = new Random(2621); 
        int maxRange = 65;
        int minRange = 20;

        for(int i=0; i<20; i++)
        {
            numbers[i] = rand.nextInt(maxRange - minRange + 1) + minRange;       
        }

        Arrays.sort(numbers);
    }
}

1 个答案:

答案 0 :(得分:0)

看起来很像家庭作业......

Array类中,您可以保留对数组的引用,然后使用一个名为setArray()的方法,您可以使用该方法将数组从主类传递给Array类。

int[] numbers;

public void setArray(int[] nums) {
    numbers = nums;
}

然后从您的主课程中,您可以致电

Array.setArray(myIntArray);
int max = Array.max();

在现实生活中(编程练习除外),你永远不会想要这样做。