2014-03-07 114 views
0

我想要搜索和一個數組的項目。如果它找到了整數值,那麼它應該打印1,否則打印「NOt」。我想出下面的coed,但它沒有幫助。我的問題是有沒有辦法讓binnerySerach方法接受整數?搜索一個數組元素

while (inputStream.hasNext()){ 
      String data= inputStream.next(); 
      String [] token =data.split(","); 



      for(int i =0; i<14;i++) 
      { 
      int sherchitem = 1+i; 
      } 

      Arrays.sort(token); 

      int founditem= Arrays.binarySearch(token, sherchitem); 


      if (founditem>-1) 
      { 
       System.out.println("1"); 
      } 
      else{System.out.println("Not");} 
+0

您確定您應該使用二進制搜索嗎? – Tyler

+0

什麼是搜索數組元素PLZ的最佳方式? – user3321753

+0

與二進制搜索,你需要有一個排序的數組 – Tyler

回答

0

調用此方法,並把它傳遞您的整數數組,你要尋找的價值。

public static void searchArray(int[] values, int target){ 

    //Loop through the array and compare all the elements with the target 
    for(int i = 0; i < values.length; i++) { 

     //If we find the target, print the success message 
     if(values[i] == target) { 
      System.out.println("found it at: " +); 
      return; //We can return out of the method 
     } 
    } 

    //If we get down to here, we didn't find the target 
    System.out.println("not"); 

} 
0

二進制搜索將與數組相同的類型除外。在這種情況下,你已經給它一個String[],所以它期望String。您可以將數據解析成整數,或者更簡單的方法,你可以這樣做:

int founditem= Arrays.binarySearch(token, String.valueOf(sherchitem));