File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes HELP Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "HELP" Watch "HELP" New topic


Jose Carrillo

Joined: Nov 13, 2003
Posts: 17
Hi well I writing a program that use binarysearh and it looks an array and search for query and then say query found or not found; the program compile. however when I try to run it It shows and error saying:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 49
at InsertionSort.BinSearch(
at InsertionSort.main(
please help me this my code:
public class InsertionSort
public static void main(String[] args) throws IOException
InputStreamReader reader = new InputStreamReader(;
BufferedReader console = new BufferedReader(reader);
int n = 100;
int[] array = new int[args.length];
System.out.print("Enter query: ");
String s = console.readLine();
int q = Integer.parseInt(s);
// StopWatch sWatch = new StopWatch();
// sWatch.start();
int index = BinSearch(array, q, 0, n-1);
// sWatch.stop();
if (index < 0)
System.out.println("Query is not found");
System.out.println("Query is found at position ");

public static int BinSearch(int[] a, int q, int start, int finish)
if (start > finish) return (-1);
int mid = (start + finish) /2;
int diff = q - a[mid];
if (diff == 0)
return (mid);
else if (diff < 0)
return BinSearch(a, q, start, mid-1);
return BinSearch(a, q, mid+1, finish);
Jeanne Boyarsky
author & internet detective

Joined: May 26, 2003
Posts: 33127

Your BinSearch algorithm assumes there are 100 elements in the array. But when you declare the array as
array is the same size as however many arguments are passed in the command line when you run the program. Since you probably aren't typing in 100 numbers, this is causing the problem.

[OCA 8 book] [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Other Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, TOGAF part 1 and part 2
I agree. Here's the link:
subject: HELP
It's not a secret anymore!