public class BinaerDemoRekursiv
{
    private int[] zahlen;

    public BinaerDemoRekursiv()
    {
        zahlen = new int[100];
        for (int i=0; i<100; i++)
            zahlen[i] = i*2;

        for (int versuch = 1; versuch <= 20; versuch++) 
            sucheZahl(versuch * 3);
    }

    /*
     * ------------------------------------------------------------------------
     * Hier der Algorithmus zur rekursiven binaeren Suche, wie er in der 
     * Praesentation gezeigt wird.
     * ------------------------------------------------------------------------
     */

    public int sucheIndexBinaer(int[] a, int suchzahl)
    {
        return rekursiv(a, suchzahl, 0, a.length - 1);
    }

    private int rekursiv(int[] a, int suchzahl, int links, int rechts)
    // Aufgabe: Vervollstaendige diesen Quelltext!
    {
       
    }

    /*
     * ------------------------------------------------------------------------
     * Testmethode fuer diesen Algorithmus
     * ------------------------------------------------------------------------
     */

    public void sucheZahl(int suchzahl)
    {
        int index = sucheIndexBinaer(zahlen,suchzahl);
        if (index > -1)
            System.out.println("Suchzahl " + suchzahl + " gefunden an Position " + index);
        else   
            System.out.println("Suchzahl " + suchzahl + " nicht gefunden");
    }
    
public static void main(String[] args)
{
    new BinaerDemoRekursiv();
}    
}