Very simple code for number search gives me infinite loop
- by Joshua
Hello,
I am a newbie Computer Science high school student and I have trouble with a small snippet of code. Basically, my code should perform a basic CLI search in an array of integers. However, what happens is I get what appears to be an infinite loop (BlueJ, the compiler I'm using, gets stuck and I have to reset the machine). I have set break points but I still don't quite get the problem...(I don't even understand most of the things that it tells me)
Here's the offending code (assume that "ArrayUtil" works, because it does):
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;
   }
}
This has been bugging me for some time now...please help me identify the problem!