Hola comunidad, tengo el siguiente codigo y quisiera que por favor me ayuden a encontrar el error, o si me estoy olvidando de algo en el siguiente programa puesto que no me corre.
Código:
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));
}
}
}
El programa al compilarce no muestra error, al ejecutarse es el problema, ya que luego de ingresar una opcion.
Gracias.