Erro na execução

2 respostas
K

Galera, eu criei as seguintes classes:

// classe Jogo

import java.util.Random;

public class Jogo {
	private int[] nros = new int[7]; // vetor que armazenará o jogo
	private Random nroAl = new Random(); // cria um gerador de nros aleatórios
	
	// construtor
	public Jogo() {
		// corpo vazio
	} // fim construtor

	// retorna o vetor nros
	public int[] getNros() {
		return nros;
	} // fim int[] getNros()
	
	// gera um jogo com nros aleatórios
	public void geraJogo() { 
		int nro, i = 0;
		boolean saiu;
		
		while(i < nros.length) {
			nro = 1 + nroAl.nextInt(80); // 1 - 80
			saiu = false;
			int j = 0;
			
			// percorre todo o vetor para verificar 
			// se o nro gerado já saiu
			while(j < nros.length && !saiu) {
				if(nros[j] == nro) // nro já saiu
					saiu = true;
				j++;
			} // fim while(j < nros.length && !saiu)
			
			// se o nro ainda não saiu,
			// insere-o no vetor
			if(!saiu) {
				nros[i] = nro;
				i++;
			} // fim if(!saiu)
			
			
			
		} // fim while(i < nros.length)
		
	} // fim void geraJogo()
	
	// retorna representação String do objeto Jogo
	public String toString() {
		return String.format("%d %d %d %d %d %d %d\n", 
				nros[0], nros[1], nros[2], nros[3],
				nros[4], nros[5], nros[6]);
	} // fim String toString()

} // fim class Jogo


// classe Principal

public class Principal {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Jogo[] jogos = new Jogo[10];
		
		for(int i = 0; i < jogos.length; i++) 
			jogos[i].geraJogo();
		
		for(int i = 0; i < jogos.length; i++)
			System.out.println(jogos[i]);
		
	} // fim main

} // fim class Principal

só que na hora da execução ocorre a seguinte exceção:

[color=red]Exception in thread “main” [/color]java.lang.NullPointerException[color=blue] [/color]
[color=red]at Principal.main([/color]Principal.java:12[color=blue] [/color][color=red])[/color]

eu não estou conseguindo resolver isso… se alguém puder me ajudar, eu fico muito grato.

[]'s

2 Respostas

felipemartinsss

Pelo que vejo vc instanciou apenas as referências do array jogos.
Agora vc tem que fazer essas referencias apontarem para algum lugar antes de chamar algum método da classe Jogo. O que acontece é que vc está tentando fazer com que “null” gereJogos. E aí está sendo gerada a exceção.

K

Entendi felipe… muito obrigado cara.

Criado 14 de março de 2008
Ultima resposta 14 de mar. de 2008
Respostas 2
Participantes 2