Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - JaviRmz

Páginas: [1]
1
Excelente muchas gracias, ya había resuelto el problema utilizando Buffered para pedir los datos pero es bueno saber que hacer para la próxima, esto le servirá de mucho a una amiga gracias  ;D

2
Hola a todos, soy nuevo en el foro y necesito su ayuda.

Tengo que crear una agenda con varias opciones, entre ellas esta el de agregar contacto en el cual se almacena en una posicion en el arreglo de objetos que tiene 5 atributos que son nombre, direccion, telefono, correo y edad, todo va bien cuando lo corro, los datos que va a agregando el usuario se guadan, y en el metodo agregarcontacto utilizo una variable bandera "nc" que inicializo en -1 y va aumentando cada vez que agrego un nuevo contacto, para asi que los valores que tomen los atributos se guarden en cada posicion del arreglo. pero el problema es cuando voy a agregar el 4 contacto, el atributo nombre que es el primer atributo no me lo toma en cuenta o sea se lo saltea y no me deja ponerle nombre y se pasa al atributo direccion, es decir el atributo nombre del cuarto contacto que quiero agregar me lo deja en blanco.

Alguien me podria decir cual es mi error o que podria hacer. y gracias por su atencion  :)

codigo:

Clase Contacto

Código: [Seleccionar]
class Contacto
{

    public String nombre;
    private String direccion, telefono, correo;
    private int edad;

    private Scanner sc = new Scanner(System.in);

    public Contacto() {
        this.nombre = "";
        this.direccion = "";
        this.correo = "";
        this.telefono = "";
        this.edad = 0;
    }
   
     
    /*public contacto(){
           
     }*/

    public void entradaDatos() {
        System.out.println("Dame el nombre");
        this.nombre = sc.nextLine();
        System.out.println("Dame la direccion");
        this.direccion = sc.nextLine();
        System.out.println("Dame el telefono");
        this.telefono = sc.nextLine();
        System.out.println("Dame el correo");
        this.correo = sc.nextLine();
        System.out.println("Dame la edad");
        this.edad = sc.nextInt();
    }

    public void mostrarDatos() {
        System.out.println("nombre: " + this.nombre);
        System.out.println("direccion:  " + this.direccion);
        System.out.println("correo:  " + this.correo);
        System.out.println("Telefono:  " + this.telefono);
        System.out.println("Edad:  " + this.edad);
        System.out.println(" ");
    }
}


Clase Proyecto_agenda

Código: [Seleccionar]
public class Proyecto_agenda {

    public static Contacto agenda[];
    public static Contacto aux;
    public static int n = 5;
    public static int nc = -1;
    public static Scanner sc = new Scanner(System.in);

    public static void crearAgenda(Contacto a[]) {
        for (int i = 0; i < a.length; i++) {
            a[i] = new Contacto();
        }
    }

    public static void agregarContacto(Contacto a[]) {
        nc++;
        if (nc < n) {
            a[nc].entradaDatos();
            ordIntercambio(a);
        } else {
            System.out.println("Contactos llenos");
        }
    }

    public static void mostrarAgenda(Contacto a[]) {
        for (int i = 0; i < n; i++) {
            a[i].mostrarDatos();
        }
    }
    /*public static void intercambiar(Contacto[] a, int i, int j) {
     aux = a[j];
     a[j] = a[j+1];
     a[j+1] = aux;
     }*/

    public static void ordIntercambio(Contacto[] a) {
        int i, j;
        for (i = 1; i < a.length; i++) {
            for (j = 0; j < a.length - 1; j++) {
                if ((a[j].nombre).compareTo(a[j + 1].nombre) > 0) {
                    do{
                        aux = a[j];
                    a[j] = a[j + 1];
                    a[j + 1] = aux;
                    }while (a[j].nombre!="");
                }
            }
        }
    }
 
       
    public static void menu() {
        int op;
        do {
            System.out.println("Menu AGENDA TELEFONICA ");
            System.out.println("1-. Añadir Contacto");
            System.out.println("2-. Mostrar Contacto");
            System.out.println("9-. Salir");
            System.out.println("opcion -->");
            op = sc.nextInt();
            switch (op) {
                case 1:
                    agregarContacto(agenda);
                    break;
                case 2:
                    mostrarAgenda(agenda);
            }
        } while (op < 9);
    }

    public static void main(String[] args) {
       
        agenda = new Contacto[n];
        crearAgenda(agenda);
        aux = new Contacto();
        menu();

    }

}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".