Very simple code for number search gives me infinite loop

Posted by Joshua on Stack Overflow See other posts from Stack Overflow or by Joshua
Published on 2010-05-22T13:21:07Z Indexed on 2010/05/22 13:30 UTC
Read the original article Hit count: 192

Filed under:
|

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!

© Stack Overflow or respective owner

Related posts about java

Related posts about homework