Hi,
hmm ich habe eine aufgabe bekommen in der steht dass ich 2 Methoden schreiben soll um Sachen in eine Hashtabelle zu schreiben und zu lesen.
Die sollen put() und get() heißen.
die habe ich jetzt auch geschrieben. Allerdings ist die Aufgabe dass bei dem put() ein Objekt vom Typ Telefonbucheintrag entgegen genommen wird und bei dem get() ein Objekt vom Typ Telefonbucheintrag zurück gibt.
Mein Code sieht folgendermaßen aus:
Jetzt zu meiner Frage. Die Methode get() liefert die jetzt ein Objekt zurück (vom Typtelefonbuch eintrag?)? Eigentlich ist es ja ein String. Wie muss ich das umwandeln dass die Aufgabe erfüllt ist...
hmm ich habe eine aufgabe bekommen in der steht dass ich 2 Methoden schreiben soll um Sachen in eine Hashtabelle zu schreiben und zu lesen.
Die sollen put() und get() heißen.
die habe ich jetzt auch geschrieben. Allerdings ist die Aufgabe dass bei dem put() ein Objekt vom Typ Telefonbucheintrag entgegen genommen wird und bei dem get() ein Objekt vom Typ Telefonbucheintrag zurück gibt.
Mein Code sieht folgendermaßen aus:
Code:
import javagently.*;
import java.io.*;
import java.util.*;
class Telefonbuch{
public static Hashtable telefonbuch = new Hashtable();
private static void put(String name, String vorname, String telefonnummer,
String kategorie ){
Telefonbucheintrag eintrag = new Telefonbucheintrag ( name, vorname,
telefonnummer,
kategorie );
telefonbuch.put(name, eintrag.toString());
}
private static String get(String name){
return (String)telefonbuch.get(name);
}
private static void importDatei (String dateiName)throws IOException,
FileNotFoundException,
EOFException{
Stream einlesen = new Stream (dateiName, Stream.READ);
Stream zeilen = new Stream (dateiName, Stream.READ);
String [] daten = new String [4];
int counter = 0;
try{
for (int i=0; ; i++){
zeilen.readLine();
counter++;
}
}
catch(EOFException e){
System.out.println (+counter+" Zeilen gefunden!\n");
}
for (int i=0; i<counter; i++){
daten = einlesen.readLine().split("\\s*;\\s*");
put(daten[0],daten[1],daten[2],daten[3]);
}
}
public static void main (String [] args) throws IOException,
FileNotFoundException{
Stream datei = new Stream (System.in);
Stream eingabe = new Stream (System.in);
boolean abfragenZuEnde = false;
System.out.println("WICHTIG! Wenn die Dateiendung fehlt"+
" wird das Programm beendet!"+
"\nBitte geben Sie den Dateinamen ein: ");
String dateiName = datei.readLine();
try{
importDatei(dateiName);
while (!abfragenZuEnde){
System.out.print("Name? (zum Beenden \"ende\" eintippen) ");
String name = eingabe.readLine();
if (name.compareTo("ende") != 0){
if (telefonbuch.containsKey(name))
System.out.println(get(name));
else
System.out.println("Kein Eintrag gefunden");
}
else abfragenZuEnde=true;
}
}
catch(FileNotFoundException fnf){
System.out.println("Die Datei wurde nicht gefunden!");
}
catch(Exception e){
System.out.println("Es ist ein Fehler aufgetreten, bitte starten"+
"Sie das Programm neu!");
}
}
}
Jetzt zu meiner Frage. Die Methode get() liefert die jetzt ein Objekt zurück (vom Typtelefonbuch eintrag?)? Eigentlich ist es ja ein String. Wie muss ich das umwandeln dass die Aufgabe erfüllt ist...