Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con arreglo de objetos

Estas en el tema de Problema con arreglo de objetos en el foro de Java en Foros del Web. Hola a todos, Como pueden ver soy MUY novato en esto de programacion en java, y tengo que etregar un proyecto para mi examen final ...
  #1 (permalink)  
Antiguo 25/11/2005, 16:26
Avatar de Lophophora  
Fecha de Ingreso: mayo-2005
Mensajes: 366
Antigüedad: 18 años, 10 meses
Puntos: 0
Problema con arreglo de objetos

Hola a todos, Como pueden ver soy MUY novato en esto de programacion en java, y tengo que etregar un proyecto para mi examen final en la escuela.

la cuestion es esta
tengo que hacer una agenda telefonica, donde pueda agregar contactos y ver los contactos que tengo agregados,

muy sencillo,
el problema es que cuando le meto los valores al arreglo [0] y al arreglo [1] a la hora de ver cuales son los valores de los arreglos de la agenda, no se por que no me sale.


------------------------------------------------------------------
Código PHP:
class Registro {
    private 
String nombre;
    private 
String tele;
    private 
String correo;

Registro(){
    
nombre="x";
    
tele="1";
    
correo="@";
}
public 
void cambian(String nombre){
    
this.nombre=nombre;
}

public 
void cambiat(String tele){
    
this.tele=tele;
}

public 
void cambiac(String correo){
    
this.correo=correo;
}

public 
void imprime(){
 
System.out.println(nombre "," tele "," correo);
}


public 
String vern(){
    return 
nombre;
}


-----------------------------------------------------------
Código PHP:

import java
.io.*;

class 
Agenda{

        private static 
BufferedReader entrada = new BufferedReader (new InputStreamReader (System.in));
        private static 
PrintWriter salida = new PrintWriter  (System.outtrue);
        private static 
PrintWriter error = new PrintWriter  (System.errtrue);

    public static 
void main (String[] argsthrows IOException {

        
int contap=0;
        
int oper=0;
        
int cont=0;
        
String tn;
        
String tt;
        
String tc;
        
int y=0;

        while (
oper!=7){

        
error.print("\nQue operacion Quieres? \n1 (Dar de ALTA un nuevo contacto) \n2 (Ver todos tus contactos)\n\n");
        
error.flush();
        
oper Integer.parseInt (entrada.readLine());
        if (
oper<7){

            if (
oper==7){
                
System.out.println("Gracias por utilizarme");
                break;
            }

            
Registro[] miAgenda = new Registro[3];

            for(
y=0y<3y++){
            
miAgenda[y] = new Registro();
            }

            if(
oper==1){
            
error.print("Como se llama ");
            
error.flush();
            
tn= (entrada.readLine());
            
error.print("A donde le hablo ");
            
error.flush();
            
tt= (entrada.readLine());
            
error.print("A donde le mando E-mails? ");
            
error.flush();
            
tc= (entrada.readLine());

            
miAgenda[contap].cambian(tn);
            
miAgenda[contap].cambiat(tt);
            
miAgenda[contap].cambiac(tc);
            
miAgenda[contap].imprime();
            
contap ++;

                }

            if(
oper==2){
                for(
y=0y<contapy++){
                    
miAgenda[y].imprime();
                }
}

    }


    else {
            
System.out.println("Haz escogido una operacion no valida");
        }
    }
    }

----------------------------------------------------------------------

esos son los dos codigos que estoy utilizando, seguramente no va a faltar el que diga que asi no esta bien programado y que asi no se hace la programacion, pero les recuerdo que soy principiante y esto es un trabajo final

la idea es que cuando le ponga la opcion 2 me diga todos los valores de todas las entradas de la "agenda" que hasta ahora estan registradas. pero repito no se guardan los valores que le asigno en los arreglos...

Muchisisisismas gracias a todos

Lophophora

Última edición por Lophophora; 25/11/2005 a las 19:17
  #2 (permalink)  
Antiguo 25/11/2005, 16:51
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 9 meses
Puntos: 10
Se ven varios errores, tanto logicos como de programacion.

Pro ejemplo.
Código PHP:
if (oper<7){

    if (
oper==7){
        
System.out.println("Gracias por utilizarme");
        break;
    }

    
Registro[] miAgenda = new Registro[3];

    for(
y=0y<3y++){
        
miAgenda[y] = new Registro();
    } 
Si ya pregunateste si oper es menor que 7. Para que preguntas adentro si es igual a 7? no tiene sentido.

Por otra parte ese break dentro del if esta de mas, pues solo ara que termine ese if que de hecho ya termina al cierre de la llave de cualquier forma, y asi con todos los break que hay hacia abajo.

Segundo
Código PHP:
 contap ++; 
Esa instruccion no hara lo que quieres, pues los ++ estan separados de la variable y deben ir juntos para que esta se incremente.

Tercero
Código PHP:
for(y=0y<contapy++){
    
miAgenda[y].imprime();

Al momento de llegar a esa instruccion la variable contap sigue valiendo cero, por tanto no esta entrando jamas al cuerpo del for.

Asi hay muchoas otras cosas que estan mal empleadas, pero ya nos dijiste que seria normal pues eres muy novato, peroe so es lo principal. Espero te ayude.

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 25/11/2005, 17:03
Avatar de Lophophora  
Fecha de Ingreso: mayo-2005
Mensajes: 366
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Iniciado por goncafa
Se ven varios errores, tanto logicos como de programacion.

Pro ejemplo.
Código PHP:
if (oper<7){

    if (
oper==7){
        
System.out.println("Gracias por utilizarme");
        break;
    }

    
Registro[] miAgenda = new Registro[3];

    for(
y=0y<3y++){
        
miAgenda[y] = new Registro();
    } 
Se me olvido poner que la opcion 7 es para Salir del programa, entonces cuando pones la opcion 7 termina gracias a ese break,

mi problema es los valores que le mandas al arreglo supuestamente los guarda, pero cuando consultas no pasa nada, te muestra los valores iniciales del arreglo

Osea el x , 1 , @
cuando te deberia de mostrar Juan, 52535685, [email protected]

Gracias
  #4 (permalink)  
Antiguo 25/11/2005, 19:09
Avatar de Lophophora  
Fecha de Ingreso: mayo-2005
Mensajes: 366
Antigüedad: 18 años, 10 meses
Puntos: 0
mira



ahi al principio me pregunta que operacion quiero hacer
le digo que 1(dar contacto de alta)

me pregunta el nombre
me pregunta el telefono
y me pregunta el e-mail

me imprime la confirmacion de que los datos estan en el arreglo

y me vuelve a preguntar que que es lo que quiero hacer.
le digo que quiero ver todos los contactos que tengo en mi agenda.

y me aparece
x,1,@
cuando me deberia de aparecer Pedro Gomez, 018005522222,[email protected]


Espero que ahora si me haya explicado bien,.. y vean claro cual es el problema....

Muchas Gracias a todos..

Lophophora
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:30.