我是一名新手計算機科學高中學生,我有一小段代碼的麻煩。基本上,我的代碼應該在整數數組中執行基本的CLI搜索。然而,會發生什麼似乎是一個無限循環(BlueJ,我使用的編譯器卡住了,我必須重置機器)。我已經設置了斷點,但我仍然不太明白這個問題......(我甚至不瞭解它告訴我的大部分內容)非常簡單的數字搜索代碼給我無限循環
這裏是違規代碼(假設「ArrayUtil」有效,因爲它):
import java.util.Scanner;
public class intSearch
{
public static void main(String[] args)
{
search();
}
public static void search()
{
int[] randomArray = ArrayUtil.randomIntArray(20, 100);
Scanner searchInput = new Scanner(System.in);
int searchInt = searchInput.nextInt();
if (findNumber(randomArray, searchInt) == -1)
{
System.out.println("Error");
}else System.out.println("Searched Number: " + findNumber(randomArray, searchInt));
}
private static int findNumber(int[] searchedArray, int searchTerm)
{
for (int i = 0; searchedArray[i] == searchTerm && i < searchedArray.length; i++)
{
return i;
}
return -1;
}
}
這一直在竊聽我一段時間了...請幫助我確定問題!
你是指searchArray [i]!= searchTerm而不是searArray [i] == searchTerm?我認爲這樣,findNumber並不真正推進。 – abenthy 2010-05-22 13:23:33