Código:
El programa al compilarce no muestra error, al ejecutarse es el problema, ya que luego de ingresar una opcion.import java.util.*; public class GestionNombres2 { public static void main(String[] args) { Hashtable<String , String> nombres=new Hashtable<String,String>(); int opcion1; Scanner st=new Scanner(System.in); st.useDelimiter ("\n"); do{ System.out.println("Elegir opcion :\n"); System.out.println(" l. Anadir nombre "); System.out.println(" 2. Eliminar nombre"); System.out.println("3. Mostrar todos los nombres"); System.out.println("4. Sa1ir"); opcion1=st.nextInt(); switch(opcion1){ case 1: String nom,dni; System.out.println("Introduce Nombre: "); nom=st.next(); System.out.println("DNI: "); dni=st.next(); almacenaNombre(nom,dni,nombres); break; case 2: String d; System.out.println("Introdusta el DNI: "); d=st.next(); eliminaNombre(d,nombres); break; case 3: mostrarTodos(nombres); break; } } while(opcion1!=4); } static void almacenaNombre(String n,String k,Hashtable<String,String>lista){ if(!lista.containsKey(k)){ lista.put(k,n); } } static void eliminaNombre(String k,Hashtable<String,String>lista){ if(lista.containsKey(k)){ lista.remove(k); } } static void mostrarTodos( Hashtable<String,String> lista){ System.out.println("Los nombres son: "); Enumeration<String> claves=lista.keys(); while(claves.hasMoreElements()){ String k=claves.nextElement(); System.out.println(k+" - "+lista.get(k)); } } }
Gracias.