2013-02-13 56 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(); 

在現實生活中(比編程習慣等),你絕不會想這樣做雖然。