Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Magroale en 27 Noviembre 2015, 17:22 pm



Título: Ayuda en java urgente
Publicado por: Magroale en 27 Noviembre 2015, 17:22 pm
Hola a todos y todas, tengo un problema a la hora de programar en java utilizando netbeans, es urgente ya que es proyecto final, el caso es que tengo como proyecto una interfaz de votaciones donde se puedan crear partidos y dentro candidatos, una matriz, pero al momento de ejecutar programa y hacer correr el código, este me salta error cuando llega a pedir el set, la linea de código no me muetsra ningún error, solo me suelta error cuando ejecuto la prueba de escritorio, tengo bien creadas las otras clases pues como dije la linea no me muestra error error, solo cuando la ejecuto, gracias de antemano.

El código es el siguiente :

public class tarjeton {
  
//aqui creo la matriz de objetos
  int Filas=2, Columnas=2;
  candidatos x[][]=new candidatos [Filas][Columnas];
  Partidos t[][]=new Partidos [Filas][Columnas];
  
  public void tarjetones(){
      for (int i = 0; i < Filas; i++) {
          for (int j = 1; j < Columnas; j++) {
//cuando entra a tomar este set me salta error
              t[1][0].setNombrepartido(JOptionPane.showInputDialog(null,"¿Cual es el nombre del partido?",JOptionPane.QUESTION_MESSAGE));
              
              x[j].setNombre(JOptionPane.showInputDialog(null,"Digite el nombre","NOMBRE",JOptionPane.QUESTION_MESSAGE));
              
          }
      }
  
  }
  
  public void mostrarTarjeton(){
  
      for (int i = 0; i < 10; i++) {
          for (int j = 0; j < 10; j++) {
              t[j].getNombrepartido();
              x[j].getNombre();
          }
      }
  
  }
}


Título: Re: Ayuda en java urgente
Publicado por: Chuidiang en 27 Noviembre 2015, 18:15 pm
Hola:

Cuando declaras la variable

Código:
Partidos t[][]=new Partidos [Filas][Columnas];

tienes una matriz de Filas,Columnas .... llena de null. No puedes, por tanto, llamar a un método de null, te dará error

Código:
t[1][0].setNombrepartido(...);

porque t[1][0] es null. Para evitar esto, después de crear el array, tienes que hacer dos bucles anidados para rellenar todos sus elementos de uno en uno

Código:
para cada fila {
   para cada columna {
          t[i][j] = new Partidos(...);
   }
}

Te pasará igual con la matriz de candidatos.
Se bueno.