Hallo, ich habe mich mal an der Cllection Hashtable versucht und ein sehr elegantes Programm :lol: zur Eingabe und Ausgabe von Emailadressen geschrieben. Sobald ich eine eingegebene Adresse allerdings abrufen möchte, wird mir als value NULL ausgegeben, die Werte werden also nicht im Hashtable gespeichert. Woran liegt das?
Code:
Alles anzeigen
Code:
Quellcode
- import java.util.*;
- public class Collections {
- static Hashtable <String, String> hash= new Hashtable<String, String>();
- public static void main(String[] args) {
- while(true){
- int auswahl = auswahl();
- switch (auswahl){
- case 1: anlegen(); break;
- case 2: abrufen(); break;
- default: System.exit(0);
- }
- }
- }
- static String keyboard(){
- Scanner sc = new Scanner(System.in);
- return sc.next();
- }
- static int auswahl(){
- System.out.print("0:Prog. abbrechen\n1:neue Addr. anlegen \n2:Addr. anzeigen");
- Scanner sc = new Scanner(System.in);
- int i=Integer.parseInt(sc.next());
- if (i==1 || i==2 || i==0) return i;
- else {
- System.err.println("0,1 oder 2 eingeben!");
- return auswahl();
- }
- }
- static void anlegen(){
- System.out.print("Bitte geben sie den Namen ein: ");
- Scanner sc = new Scanner (System.in);
- String name=sc.next();
- System.out.print("Bitte geben sie die Email ein: ");
- String email=sc.next();
- hash.put(name,email);
- }
- static void abrufen(){
- System.out.print("Bitte geben sie den Namen ein: ");
- Scanner sc = new Scanner (System.in);
- System.out.println("Die gewünschte emailAddresse lautet:"+ hash.get(sc.hasNext()));
- }
- }