2013-02-13 58 views
-1

嘿家伙我有问题搞清楚如何编写我的Array类的驱动程序类。阵列驱动程序类Java

我的问题

1.How我做我的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; 
    } 
} 

Driver类:

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); 
    } 
} 
+0

如果你想将你的数组方法应用到某个数组,那么你的方法应该接受一个数组作为Array类中的参数,或者你可以在构造函数中设置的类中定义一个实例数组。 – 2013-02-13 06:42:56

+0

好,所以我相信我做了我在我的数组类中传入(int []数字)的每个方法,但我仍然不知道如何从我的驱动程序类中调用/打印这些方法... – user1905170 2013-02-13 07:25:24

+0

由于你的类中的方法不是静态的,你首先必须实例化你的类的一个实例Array a = new Array(); a.mode();.如果您将您的方法声明为静态方法,则可以将其称为Arrays类,即Arrays.sort()。 – 2013-02-13 08:21:38

回答

0

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

在你Array类,你可以保留对数组的引用,然后有一个方法称为setArray(),您可以使用它将数组从您的主类传递到Array类。

int[] numbers; 

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

然后从你的主类,你可以调用

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

在现实生活中(比编程习惯等),你绝不会想这样做虽然。