Hallo soll eine Programm vervollständigen das aus mehreren Teilen besteht und hänge jetzt schon..habe eine Methode einlesen() geschrieben und eine Methode sortiere() jetzt kommt der mir mit dem Fehler incompatible Types:
Code:
import Prog1Tools.IOTools;
/**
* @author: Roland Küstermann
* @version: 1.0
* @since: 22.11.2006
*/
/**
* Diese Aufgabe behandelt rekursives binäres Suchen und sortieren mit dem
* Bubblesort Algorithmus.
*
* @concepts: Methode, Klassenmethode, Überladen, Felder, innere Klassen,
* Seiteneffekt
*/
public class SortiereUndSuche {
public static String einlesen () {
int AnzahlID = IOTools.readInteger("Anzahl der IDs: ");
Datensatz [] daten = new Datensatz [AnzahlID];
int i = 0;
do {
daten [i] = new Datensatz();
daten [i].id = IOTools.readInteger("Bitte geben Sie die ID ein: ");
daten [i].bezeichnung = IOTools.readLine("Bitte geben Sie die Bezeichnung ein: ");
i = i + 1;
} while (i < AnzahlID);
}
public static int sortiere (Datensatz [] daten){
int n = daten.length;
int temp;
for (int i=0; i < n-1; i=i+1)
for (int j=n-1; j > i; j=j-1)
if (daten[j-1].id > daten[j].id)
{
temp = daten[j-1].id;
daten[j-1].id = daten[j].id;
daten[j].id = temp;
}
}
/**
* Zunächst werden die Daten eingelesen.
* Das so gewonnene Feld wird dann sortiert.
* Lassen Sie einen Suchschluessel eingeben und suchen Sie in den Daten den
* zugehörigen Datensatz. Falls der Datensatz existiert, wird die Bezeichnung
* ausgegeben.
*
* @param args nicht verwendet
*/
public static void main(String[] args) {
final Datensatz[] daten = einlesen(); //** HIER sagt er incompatible Types!!!! **/
sortiere(daten);
do {
final int suchSchluessel = IOTools.readInt("Zu suchende ID [-1 = Abbruch]: ");
if (suchSchluessel == -1)
break;
final Datensatz datum = suche(daten, suchSchluessel);
if (datum == null)
System.out.println("Zum Schluessel " + suchSchluessel +
" wurde kein Datensatz gefunden.");
else
System.out.println("Die Bezeichnung des Datensatz mit Schluessel " +
suchSchluessel + " lautet: " + datum.bezeichnung);
}
while (true);
}
}