2013-03-02 28 views
1

當我嘗試編譯這個二進制搜索程序時,我收到一條消息,說我有未經檢查和不安全的操作。我看着其他帖子在stackoverflow,但我無法弄清楚如何解決我的代碼。謝謝!java使用未檢查或不安全的操作與xlint錯誤重新編譯?

public binarySearch() 
{ 
    ArrayList<Integer> list = new ArrayList<Integer>(); 
    for (int i=0;i<10;i++) 
    { 
     int rand = (int)(Math.random()*10); 
     list.add(rand); 
     System.out.print(list.get(i)+"\t"); 
     if ((i+1)%10==0) System.out.println(); 
    } 
    System.out.println("\n"+search(sort(list),0)); 
} 

public ArrayList sort(ArrayList<Integer> listNum) 
{ 
    for (int i=0;i<listNum.size()-1;i++) 
    { 
     int min=10000; 
     int index=0; 
     for (int j=i;j<listNum.size();j++) 
      if (listNum.get(j)<min) 
      { 
       min=listNum.get(j); 
       index=j; 
      } 
     int temp = listNum.get(i); 
     listNum.set(i,listNum.get(index)); 
     listNum.set(index,temp); 
    } 
    return listNum; 
} 

public boolean search(ArrayList<Integer> listNum, int num) 
{ 
    //need to sort list 
    int low = 0; 
    int high = listNum.size()-1; 
    while (low<=high) 
    { 
     int mid = (low+high)/2; 
     int midValue = listNum.get(mid); 
     if (num<midValue) 
      high = mid-1; 
     if (num>midValue) 
      low = mid+1; 
     if (num==midValue) 
      return true; 
    } 
    return false; 
} 

public static void main (String args[]) 
{ 
    binarySearch app = new binarySearch(); 
} 
+0

此消息的文本,請 – bsiamionau 2013-03-02 17:20:57

+0

在哪一行,你得到的警告?如果您發佈排序方法 – PermGenError 2013-03-02 17:21:20

+0

的簽名...以及「搜索」方法 – Reimeus 2013-03-02 17:21:52

回答

3

方法回報應該是 public ArrayList<Integer> sort(ArrayList<Integer> listNum)

+0

,謝謝!這是一個很大的幫助 – birna 2013-03-02 17:27:50

相關問題