1: /* 2: AplicacionAgenda.jmm 4: Implementa una pequeña agenda para Zero en J-- 6: Para compilar: 7: j-- AplicacionAgenda.jmm 8: za AplicacionAgenda 10: Ejecutar: 11: zvm AplicacionAgenda 13: Pablo Martínez 14: J. Baltasar García 15: (c) 2005 16: */ 19: // La clase Persona representará a todas las personas 20: // en la agenda 21: class Persona { 22: String nombre; 23: int edad; 24: String telefono; 25: 26: void putNombre(String n) 27: { 28: nombre = n; 29: } 30: 31: void putEdad(int ed) 32: { 33: edad = ed; 34: } 35: 36: void putTelefono(String tlf) 37: { 38: telefono = tlf; 39: } 40: 41: String toString() 42: { 43: String x; 44: 45: x = "Nombre: " + nombre + "\n"; 46: x += "Edad :" + edad.toString() + "\n"; 47: x += "Telefono: " + telefono + "\n"; 48: 49: return x; 50: } 51: 52: } 54: // La clase AplicacionAgenda es la principal 55: class AplicacionAgenda extends ConsoleApplication { 56: Map agenda; 57: 58: void anadirPersona() 59: // Inserta una persona en la agenda 60: { 61: String nombre; 62: int edad; 63: String tlf; 64: Persona nuevaPersona; 65: 66: System.console.write( "Introduzca el nombre: " ); 67: nombre = System.console.read(); 68: 69: try { 70: System.console.write( "Introduzca su edad: " ); 71: edad = Int.parseString( System.console.read() ); 72: } catch ( ESemantic ex ) { 73: System.console.write( "El dato introducido no es un número.\n" ); 74: } 75: 76: System.console.write( "Introduzca su telefono: " ); 77: tlf = System.console.read(); 79: // Crear la nueva persona 80: nuevaPersona = new Persona(); 82: // Rellenar sus datos 83: nuevaPersona.putNombre( nombre ); 84: nuevaPersona.putEdad( edad ); 85: nuevaPersona.putTelefono( tlf ); 86: agenda.add( nombre, nuevaPersona ); 87: 88: System.console.write( nombre + " fue añadido a la agenda ..." ); 89: System.console.lf(); 90: System.console.lf(); 91: } 92: 93: void buscarPersona() 94: { 95: Persona p; 96: String name; 98: // Pedir un nombre a buscar 99: System.console.write("Introduzca un nombre: "); 100: name = System.console.read(); 101: 102: try { 103: // Buscarlo 104: p = agenda.lookUp( name ); 105: } 106: catch ( ESemantic ex ) { 107: System.console.write( "No existe ninguna persona.\n\n" ); 108: } 109: 110: System.console.write( p ); 111: System.console.write( "\nPulse INTRO para seguir." ); 112: System.console.read(); 113: } 114: 115: void eliminarPersona() 116: { 117: Persona p; 118: String name; 119: 120: System.console.write( "Introduzca un nombre: " ); 121: name = System.console.read(); 122: 123: try { 124: agenda.delete( name ); 125: } catch ( ESemantic ex ){ 126: System.console.write( "No existe ninguna persona.\n\n" ); 127: } 128: 129: System.console.write( "Persona eliminada.\n" ); 130: } 131: 132: 133: void doIt(){ 134: int op; 136: // Crear la agenda 137: agenda = new Map(); 138: 139: do { 140: // Presentar el menú 141: System.console.write( "1. Añadir persona" ); 142: System.console.lf(); 143: System.console.write( "2. Buscar persona" ); 144: System.console.lf(); 145: System.console.write( "3. Eliminar persona" ); 146: System.console.lf(); 147: System.console.write( "4. Salir" ); 148: System.console.lf(); 149: System.console.write("Introduzca una opcion: "); 151: // Leer la opción del teclado 152: try { 153: op=Int.parseString( System.console.read() ); 154: } catch(ESemantic ex) { 155: System.console.write( "No es un número." ); 156: } 158: // Ejecutar la opción 159: if ( op < 1 160: || op > 4 ) 161: { 162: System.console.write( "Opcion incorrecta." ); 163: System.console.lf(); 164: } 165: else { 166: if( op==1 ) { 167: anadirPersona(); 168: } 169: 170: if( op==2 ) { 171: buscarPersona(); 172: } 173: 174: if( op==3 ) { 175: eliminarPersona(); 176: } 177: } 178: } while( op != 4 ); 179: } 180: }