Comunidad de diseño web y desarrollo en internet online

arrays con registros

Citar            
MensajeEscrito el 04 Jun 2005 06:20 pm
que tal amigos del foro, lo que pasa es que estoy haciendo un programa en java en el cual tengo n alumnos y cada uno tiene nombre y codigo, eso se hace con un vector de una dimension en cual tenga en su interior una variable nombre y codigo supuestamente quedaria algo asi si tengo por ejemplo un vector llamado k

Código :

k[].nombre y lo otro seria k[].codigo


pues estoy utilizando dos clases, como por ordenarlo y no hacerlo estructurado, entonces en una clase principal estoy poniendo este codigo

Código :

import javax.swing.*;

class prog33{
   public static void main(String[] args) {
      alumno.inicializar();
      alumno.desplegar();
   }
}

y el la segunda clase pongo este

Código :

import javax.swing.*;
class alumno{
   void alumno(){};
   static alumno k[]=new alumno[10];
   static String nombre;
   static String edad;
   static void inicializar(){
                                k[0].nombre="pepe";
      k[0].edad="18";    
      k[1].nombre="jj";
      k[1].edad="50";   
      k[2].nombre="dani";
      k[2].edad="10";   
   }
   static void desplegar(){
JOptionPane.showMessageDialog(null,""+k[0].nombre+", "+k[0].edad,"REG",JOptionPane.INFORMATION_MESSAGE);
      JOptionPane.showMessageDialog(null,""+k[1].nombre+", "+k[1].edad,"REG",JOptionPane.INFORMATION_MESSAGE);
      JOptionPane.showMessageDialog(null,""+k[2].nombre+", "+k[2].edad,"REG",JOptionPane.INFORMATION_MESSAGE);
   }
}


pense que asi funcionaba, pero me sobrescribe el nombre y el codigo, de entemano grecias si me pueden ayudar;)

Por hackjasl

72 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jun 2005 06:43 pm
Buenas, yo ahora estoy empezando con el java y no lo tengo muy por la mano pero de momento estoy viendo una cosa:

Código :

 static void inicializar(){
      k[0].nombre="pepe";
      k[0].edad="18";   
      k[1].nombre="jj";
      k[1].edad="50";   
      k[2].nombre="dani";
      k[2].edad="10";   
   }


Si no me equivoco en la funcion inicializar estas escribiendo 2 veces sobre la misma posicion del array. En una misma posición del array no puedes guardar 2 strings. prueva si asi te funciona.

Código :

 static void inicializar(){
      k[0].nombre="pepe";
      k[1].edad="18";   
      k[2].nombre="jj";
      k[3].edad="50";   
      k[4].nombre="dani";
      k[5].edad="10";   
   }

El array será mas largo pero asi creo que lo guardará.
Yo que tu lo habria hecho de otra manera: 2 arrays, uno para en nombre y otro para la edad. De esa manera los datos ocuparian la misma posicion en el array y no correrias el riesgo de machacar datos.

De todas maneras ya te digo que hace muy poco que he empezado con el java y no se si lo que te he dicho estará bien.

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

firefox
Citar            
MensajeEscrito el 04 Jun 2005 06:51 pm
nooooo mira lo que pasa es que lo intento crear son registros, es decir que tu tienes una variable en este caso cada posicion del vector y le pones caracteristicas, en este caso el nombre y el codigo, y claro esto si se puede, si yo lo hago en un leguaje llamado oberon, pero ahora necesito hacerlo en java

Por hackjasl

72 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Jun 2005 06:58 pm
mmhhhhhh..... :o

pues entonces no se donde está el problema.... si tienes paciencia el martes veré a mi profe de java (hoy es sabado)... si no le veo la solucion antes se lo preguntaré...

PD: (m***da ahora voy a estar todo el finde dandolo vueltas...) :shock:

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

firefox
Citar            
MensajeEscrito el 07 Jun 2005 06:22 pm
pues bueno hasta que por fin lo que pasaba es que toca contruir cada posicion del vector con un objeto al que le inrese para alguna aplicacion aca esta el codigo

Código :

class datos{
   String nombre;
   int codigo;
   double ven[]=new double[10];
   int dia[]=new int[10];
   int mes[]=new int[10];
   int año[]=new int[10];
   datos(){
   }
}
import javax.swing.*;
class principal{
   principal(){
   }
   public static void main(String a[]){
      principal p=new principal();
      datos mat[]=new datos[3];
      for(int i=0;i<3;i++){
       mat[0]   =new datos();
      }   
      mat[0].nombre="pepe";
      mat[0].codigo=12345;
      mat[0].dia[0]=10;
      mat[0].mes[0]=10;
      mat[0].año[0]=10;
      JOptionPane.showMessageDialog(null,mat[0].nombre+"\n"+mat[0].codigo+"\n"+mat[0].dia[0]+"/"+mat[0].mes[0]+"/"+mat[0].año[0],"MATRIZ",JOptionPane.INFORMATION_MESSAGE);
      
   }
}

Por hackjasl

72 de clabLevel



 

msie
Citar            
MensajeEscrito el 07 Jun 2005 06:40 pm
cuanto código sin sentido...entonces para que sirven las clases????

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 08 Jun 2005 06:08 pm
haberrr si lleemos hay dos clases, o acaso quiere sacar un monton de clases para un codigo tan cortooo ;)-

Por hackjasl

72 de clabLevel



 

msie
Citar            
MensajeEscrito el 08 Jun 2005 06:11 pm
Me refiero a que no es necesario tanto código si con un array de clases es suficiente.....

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 09 Jun 2005 07:25 am
Vaya, llegué tarde....La solución q me dijo mi profe era mas o menos la misma que propone sephirot...

Es que me salté las clases. Mis amigos son muy convincentes... suerte que no los veo todos los dias que si no.... :P

Por Mania

Claber

1716 de clabLevel

3 tutoriales
2 articulos

 

Astrub

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.