/* $Id: Loesung71.java,v 1.2 2007/12/20 15:23:45 arne Exp $
* by Arne Johannessen
* Faculty of Geomatics, Hochschule Karlsruhe - Technik und Wirtschaft
*/
/**
* Loesungsvorschlag fuer Aufgabe 7-1.
*
* @see Aufgabenblatt 7
* @author Arne Johannessen
* @version $Revision: 1.2 $
*/
public class Loesung71 {
/**
* Durchsucht einen Array sequentiell. Zurueckgeliefert wird der
* Index der ersten Fundstelle.
*
* @param array das zu durchsuchende Array
* @param key den zu suchenden Wert
* @return den Index desjenigen Elements in array
, das
* den Wert key
hat
* @throws KeyNotFoundException falls der Array den gesuchten Wert
* nicht enthaelt
* @throws NullPointerException falls array == null
*/
public static int find (int[] array, int key) {
for (int index = 0; index < array.length; index++) {
if (array[index] == key) {
// gefunden!
return index;
}
}
// wenn wir hierhin kommen, war die Suche erfolglos
throw new KeyNotFoundException();
}
/** Treiber fuer Aufruf von der Kommandozeilenschnittstelle. */
public static void main (String[] args) {
// bei der sequentiellen Suche darf der Array unsortiert sein
int[] array = new int[] {7, 4, 6, 9, 1, -1, 2, 3, 8, 0, 6, 5};
int valueToBeFound = 3;
try {
int index = find(array, valueToBeFound);
System.out.println("Die Zahl "+valueToBeFound+" ist im Array an der Stelle "+index+".");
}
catch (KeyNotFoundException exception) {
System.out.println("Die Zahl "+valueToBeFound+" ist nicht im Array enthalten.");
}
}
}