package proyectoagenda;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class ProyectoAgenda {
public static void main(String[] args) {
try {
BufferedReader teclado = new BufferedReader(new InputStreamReader([Link]));
String texto="";
char opcion='1';
Agenda mi_agenda= new Agenda();
while ((opcion=='1') || (opcion=='2') || (opcion=='3') || (opcion=='4')|| (opcion=='5') ||
(opcion=='6') )
{
[Link]("......................");
[Link]("AGENDA");
[Link]("......................");
[Link]("1-Nuevo contacto");
[Link]("2-Listado de contactos");
[Link]("3-Vaciar agenda");
[Link]("0-Salir");
[Link]("......................");
texto=[Link]();
opcion= [Link](0);
[Link]("Opcin: ");
[Link]("......................");
switch(opcion){
case '1':
String nombre;
String telefono;
String telMovil;
String apellidos;
String email;
String comentario;
boolean validar;
[Link]("Por favor introduzca el nombre:");
nombre=[Link]();
[Link]("Por favor introduzca el apellido");
apellidos=[Link]();
[Link]("Por favor introduzca el telfono fijo(numero):");
telefono=[Link]();
[Link]("Por favor introduzca el telefono Movil (numero)");
telMovil=[Link]();
[Link]("Escriba su correo electronico");
email=[Link]();
[Link]("Escriba sus comentarios");
comentario=[Link]();
validar=esNumerica(telefono);
if (validar){
String telefonofijo= (telefono);
mi_agenda.Consultar(nombre, telefonofijo);
mi_agenda.Anadir(nombre,apellidos,telefonofijo,telMovil,email,comentario);
}
else{
[Link]("No es un nmero, formato de telefono incorrecto.");
}
break;
case '2':
mi_agenda.Mostrar();
break;
case '3':
mi_agenda.Vaciar();
break;
case '0':
[Link]("Ha salido del programa");
break;
default:
[Link]("Opcin incorrecta ...");
opcion='1';
}
} catch (IOException ex) {
[Link]([Link]()).log([Link], null, ex);
}
}
public static boolean esNumerica(String str)
{
for (char c : [Link]())
{
if () return false;
}
return true;
}
}
*****
package proyectoagenda;
public class Contacto {
private String nombre;
private String apellidos;
private String correo;
private char tipo;
private int dianacimiento;
private int mesnacimiento;
private int aonacimiento;
private String telefonoFijo;
private String telefonoMovil;
private char afinidad;
private String comentarios;
private boolean verificado;
public Contacto(){
[Link]=null;
[Link]=null;
[Link]=null;
[Link]=null;
[Link]=null;
[Link]=null;
}
public Contacto(String nombre, String apellidos, String correo, String comentarios, String telFijo, String
telMovil){
[Link]=nombre;
[Link]=apellidos;
[Link]=correo;
[Link]=comentarios;
[Link]=telFijo;
[Link]=telMovil;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
[Link] = nombre;
}
public String getApellidos() {
return apellidos;
}
public void setApellidos(String apellidos) {
[Link] = apellidos;
}
public String getCorreo() {
return correo;
}
public void setCorreo(String correo) {
[Link] = correo;
}
public char getTipo() {
return tipo;
}
public void setTipo(char tipo) {
[Link] = tipo;
}
public int getDianacimiento() {
return dianacimiento;
}
public void setDianacimiento(int dianacimiento) {
[Link] = dianacimiento;
}
public int getMesnacimiento() {
return mesnacimiento;
}
public void setMesnacimiento(int mesnacimiento) {
[Link] = mesnacimiento;
}
public int getAonacimiento() {
return aonacimiento;
}
public void setAonacimiento(int aonacimiento) {
[Link] = aonacimiento;
}
public String getTelefonoFijo() {
return telefonoFijo;
}
public void setTelefonoFijo(String telefonoFijo) {
[Link] = telefonoFijo;
}
public String getTelefonoMovil() {
return telefonoMovil;
}
public void setTelefonoMovil(String telefonoMovil) {
[Link] = telefonoMovil;
}
public char getAfinidad() {
return afinidad;
}
public void setAfinidad(char afinidad) {
[Link] = afinidad;
}
public String getComentarios() {
return comentarios;
}
public void setComentarios(String comentarios) {
[Link] = comentarios;
}
public boolean isVerificado() {
return verificado;
}
public void setVerificado(boolean verificado) {
[Link] = verificado;
}
*****
package proyectoagenda;
import [Link];
import [Link];
import [Link];
import [Link];
import [Link];
public class Agenda {
Contacto[] lista_contactos=new Contacto[100];
private int contador_contactos=0;
public void Consultar(String nombre, String telefono) {
for (int i = 0; i < this.contador_contactos; i++) {
if ([Link](this.lista_contactos[i].getNombre())) {
[Link]("Ya existe un contacto con ese nombre");
}
}
public void Anadir(String nombre,String apellidos, String telFijo,String telMovil,String correo, String
comentarios) {
if (contador_contactos < 99) {
this.lista_contactos[contador_contactos] = new Contacto();
this.lista_contactos[contador_contactos].setNombre(nombre);
this.lista_contactos[contador_contactos].setApellidos(apellidos);
this.lista_contactos[contador_contactos].setTelefonoFijo(telFijo);
this.lista_contactos[contador_contactos].setTelefonoMovil(telMovil);
this.lista_contactos[contador_contactos].setCorreo(correo);
this.lista_contactos[contador_contactos].setComentarios(comentarios);
this.contador_contactos++;
Ordenar();
} else {
[Link]("La agenda est llena");
}
}
public void Ordenar() {
//Este mtodo ordenar el array de contacos por el nombre mediante el Mtodo Burbuja
int N = this.contador_contactos;
String nombre1;
String nombre2;
//Optimizo para cuando tenga ms de dos elementos al menos.
if (contador_contactos >= 2) {
for (int i = 1; i <= N - 1; i++) {
for (int j = 1; j <= N - i; j++) {
nombre1 = this.lista_contactos[j - 1].getNombre();
nombre2 = this.lista_contactos[j].getNombre();
if ([Link](0) > [Link](0)) {
Contacto tmp = this.lista_contactos[j - 1];
this.lista_contactos[j - 1] = this.lista_contactos[j];
this.lista_contactos[j] = tmp;
}
}
}
}
}
public void Mostrar() {
if (this.contador_contactos == 0) {
[Link]("No hay contactos");
} else {
for (int t = 0; t < this.contador_contactos; t++) {
// Es necesario por precaucin usar el this para el metodo, puesto que si se ejecuta muchas veces
la referencias a memoria pueden fallar.
[Link](this.lista_contactos[t].getNombre()+ "-" + "Ap:" +
this.lista_contactos[t].getApellidos()+ "-" + "Tf:" + this.lista_contactos[t].getTelefonoFijo()+ "-" + "Tf:" +
this.lista_contactos[t].getTelefonoMovil()+ "-" + "msn:" + this.lista_contactos[t].getCorreo());
}
}
}
public void Vaciar() {
try {
[Link]("Se eliminarn todos los contactos");
[Link]("Estas seguro (S/N)?");
String respuesta;
BufferedReader teclado = new BufferedReader(new InputStreamReader([Link]));
respuesta = [Link]();
respuesta = [Link]();
if ([Link]("S")) {
//Lo hago por mera formalidad porque java se encarga de liberar los objetos no referenciados creados.
El garbage collector
for (int i = 0; i < this.contador_contactos; i++) {
this.lista_contactos[i].setNombre("");
this.lista_contactos[i].setTelefonoFijo(null);
}
contador_contactos = 0;
[Link]("Agenda vaciada correctamente");
} else {
[Link]("Accin cancelada");
}
} catch (IOException ex) {
[Link]([Link]()).log([Link], null, ex);
}
}
}