mostrar en grupos de 5 50 al azar. error que no arreglo

Iniciado por Pirat3net, 12 Septiembre 2013, 16:43 PM

0 Miembros y 1 Visitante están viendo este tema.

Pirat3net

Bueno , un amigo me pidio un codigo sencillo para que muestre numeros del uno a el 50 al azar, de 5 en 5, recorde que tenia un codigo en el que barajaba un mazo de cartas, asi que recicle.
el problema es que hace ya algunos años que no uso java y eclipse me tira tres errores que no consigo identificar los dejo a continuacion.
gracias de ante mano

Exception in thread "main" java.lang.NullPointerException
   at Mainclass.<init>(Mainclass.java:15)
   at Mainclass.main(Mainclass.java:40)
Código (java) [Seleccionar]
import java.io.BufferedReader;
import java.io.InputStreamReader;


public class Mainclass {
public int numeroCartas;
public int[] mazo;

BufferedReader lectura = new BufferedReader(
new InputStreamReader(System.in));

public Mainclass(){
this.numeroCartas=50;
for(int k=0;k<50;k++){
this.mazo[k]=k;

}
}
public void barajar() {
int cambios = (int) ( Math.floor(Math.random() * 100) + (int) Math.floor(Math.random() * 100)+1);

for (int k = 0; k < cambios; k++) {
for (int n = 0; n < numeroCartas; n++) {
int aleatorio = (int) Math.floor(Math.random() * numeroCartas);
int aux = mazo[n];
mazo[n] = mazo[aleatorio];
mazo[aleatorio] = aux;
}
}

}
public void mostrar() {
for(int k=0;k<50;k++){
System.out.println(mazo[k]+" "+mazo[++k]+" "+mazo[++k]+" "+mazo[++k]+" "+mazo[++k]);
}
}


public static void main(String[] args) {
Mainclass miclase=new Mainclass();
miclase.barajar();

miclase.mostrar();

}

}


sobre todo el error que mas intrigado me deja es el de la linea 15, le doy vueltas pero nada

Zoik

#1
Te falta especificar el tamaño de la array en la línea 7 sería así:

Código (java) [Seleccionar]
public int[] mazo = new int[50];

O debajo de la línea 13 le agregas:

Código (java) [Seleccionar]
this.mazo = new int[numeroCartas];

Un saludo