public class Sprungsuche
{
    int[] zahlen;

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

        for (int i=1; i<=100; i++)
            testeSprungsuche(i);
    }

    public int sprungsuche(int[] a, int suchzahl)
    {
        if (a == null || a.length == 0)
            return -1;

        int i = 0;

        while (i < a.length && a[i] < suchzahl)
            i = i + 5;

        int start = i - 5;
        if (start < 0)
            start = 0;

        int ende = i;
        if (ende >= a.length)
            ende = a.length - 1;

        for (int k = start; k <= ende; k++)
        {
            if (a[k] == suchzahl)
                return k;
        }

        return -1;
    }


    public void testeSprungsuche(int suchzahl)
    {
        int index = sprungsuche(zahlen,suchzahl);

        System.out.print("Zahl " + suchzahl + " ");

        if (index > -1)
           System.out.println("an Position " + index + " gefunden. Der Wert dort: " + zahlen[index]);
        else
           System.out.println("nicht gefunden.");

    }

    public static void main(String[] args)
    {
        new Sprungsuche();
    }    

}