Hallo,
ich bringe mir selbst Java bei und bin bei einer Aufgabe auf folgende Probleme gestoßen:
Die Aufgabe ist Folgende:
- Verwende eine (vorgegebene) Hashtable und ermögliche 3 verschiedene Abfragen (Eingabe eines Key und Finden des zugehörigen Value, Eingabe eines Value und Finden des zugehörigen Keys und Ausgabe der gesamten Daten der Hashtable
- Die Abfragen geschehen über Server und Client
Meine Probleme sind:
Das mit dem Finden des Value habe ich folgendermaßen mit Hilfe von Map probiert:
Allerdings bekomme ich nie irgend etwas zurück, obwohl die Zahl 2343 in der Hashtable und damit auch im Datensatz enthalten ist. Lasse ich die Zeile mit if weg, gibt er mir auch artig die gesamte Liste aus. Ich möchte aber in diesem Falle nur den zu "2343" gehörigen Key haben, nicht alle.
Was mache ich falsch?
Ein weiteres Problem habe ich bei Ausgabe der gesamten Hashtable von einem Server an einen Client. Folgenden Code habe ich dazu:
In der class Client:
Alles anzeigen
In der class Server:
Ich bekomme auch eine Ausgabe. Aber leider nicht die gesamte Liste, sondern nur das erste Key-Value-Paar. Verwende ich den Code aus dem Server und ersetze pw.println by System.out.println bekomme ich die gesamte Liste ausgegeben, nur leider nicht über per Server-Client-Kommunikation
Was mache ich hier falsch?
Jede Hilfe ist willkommen.
Liebe Grüße
Anja
ich bringe mir selbst Java bei und bin bei einer Aufgabe auf folgende Probleme gestoßen:
Die Aufgabe ist Folgende:
- Verwende eine (vorgegebene) Hashtable und ermögliche 3 verschiedene Abfragen (Eingabe eines Key und Finden des zugehörigen Value, Eingabe eines Value und Finden des zugehörigen Keys und Ausgabe der gesamten Daten der Hashtable
- Die Abfragen geschehen über Server und Client
Meine Probleme sind:
Das mit dem Finden des Value habe ich folgendermaßen mit Hilfe von Map probiert:
Allerdings bekomme ich nie irgend etwas zurück, obwohl die Zahl 2343 in der Hashtable und damit auch im Datensatz enthalten ist. Lasse ich die Zeile mit if weg, gibt er mir auch artig die gesamte Liste aus. Ich möchte aber in diesem Falle nur den zu "2343" gehörigen Key haben, nicht alle.
Was mache ich falsch?
Ein weiteres Problem habe ich bei Ausgabe der gesamten Hashtable von einem Server an einen Client. Folgenden Code habe ich dazu:
In der class Client:
Quellcode
- // Send request for all staff
- pw.println("A");
- //Read what is sent back from server
- String all = bf.readLine();
- if(all.charAt(0)=='*')
- {
- // Error name not recognised
- queryResults.setText("Error");
- }
- else
- {
- //Place number on the Text area with message
- queryResults.setText("");
- queryResults.setText("All Staff: "+ all);
- }
In der class Server:
Ich bekomme auch eine Ausgabe. Aber leider nicht die gesamte Liste, sondern nur das erste Key-Value-Paar. Verwende ich den Code aus dem Server und ersetze pw.println by System.out.println bekomme ich die gesamte Liste ausgegeben, nur leider nicht über per Server-Client-Kommunikation
Was mache ich hier falsch?
Jede Hilfe ist willkommen.
Liebe Grüße
Anja