2013-07-22 49 views
-3

我正在學習從Java編程入門第9版中的Java。由Liang Y. D.撰寫,並且與數組有關的一個例子遇到了一些困難。我想用下面的執行分揀過程:運行沒有Main類的算法?

public class SelectionSort 
{ 
public static void selectionSort (double[] list) 
{ 
    for (int i = 0; i < list.length - 1; i++) 
    { 
     double currentMin = list[i]; 
     int currentMinIndex = i; 

     for (int j = i + 1; j < list.length; j++) 
     { 
      if (currentMin > list[j]) 
      { 
       currentMin = list[j]; 
       currentMinIndex = i; 
      } 
     } 

     if (currentMinIndex != i) 
     { 
      list[currentMinIndex] = list[i]; 
      list[i] = currentMin; 
     } 
    } 
} 
} 

的問題是,有沒有

Main (String[] args) 

相反,我們有:

selectionSort (double[] list) 

現在我想執行以上按

double[] list = {1, 9, 4.5, 6.6, 5.7, -4.5}; 
SelectionSort.selectionSort(list) 

或任何其他組合,但我不斷收到錯誤:無法找到或加載主類。有沒有辦法在不加載主類的情況下在命令提示符下執行此操作?

+0

創建一個TestSelectionSort類,該類有一個main方法並在測試類的main中使用該類。 –

+1

目前正在考慮什麼時候有人會建議使用靜態初始化塊。 。 。 – ruakh

+0

@ruakh我繼續前進,並建議反對它。 – Jeffrey

回答

6

做一個主類。

public class ArrayTest { 
    public static void main(String[] args) { 
     double[] list = { }; 
     SelectionSort.selectionSort(list); 
    } 
} 

注: 做this。無論如何,這是不好的做法,並且不適用於更新版本的Java。

+1

+1。對於這個問題,爲了快速測試,這個'main'方法可以添加到現有的'SelectionSort'類中。 – ruakh

+0

@ruakh只要你有權訪問源代碼,當然 – Jeffrey

相關問題