GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Exception in thread "main" java.lang.NullPointerException at GameLauncher.main(GameLauncher.java:34)

java
Tags: #<Tag:0x00007f1861aa9b70>

#1

Qual seria o meu erro no código abaixo? Alguém poderia me ajudar por favor?

import java.util.Scanner;

import java.util.Random;

public class GameLauncher {

private GuessGame GG;

private Player p;

public GuessGame getGG() {
	
	return GG;
	
	
}

public Player getP() {
	
	return p;
	
	
}

public static void main(String[] args) {
	
	Scanner in = new Scanner(System.in);
	
	Random rand = new Random();
	
	GameLauncher gl = new GameLauncher();
	
	gl.getGG().startGame();
	
	System.out.println();
	
	System.out.println("Temos um vencedor: Player" + gl.getGG().d0 + " ganhou!");
	
	
}

}

import java.util.Scanner;

import java.util.Random;

public class GuessGame {

public int i;

public int r;

public int d0;

public void startGame() {
	
	int input = 0;
	
	Scanner in = new Scanner(System.in);
	
	Random rand = new Random();
	
	System.out.println("Quantos Players jogarão?");
	
	int x = in.nextInt();
	
	boolean d = false;
	
	
	
	for(i = 1; i < x; i++) {
		
		System.out.println("Player" + i + "criado");
		
		
	}
	
	for(i = 1; i < 50; i++) {
		
		System.out.println("Número aleatório sendo criado...");
		
		r = rand.nextInt(11);
		
		System.out.println("");
		
		
	}
	
	while(d == false) {
		
		int round = 0;
		
		round++;
		
		System.out.println("");
		
		System.out.println("ROUND " + round);
		
		System.out.println("Sou um número entre 0 e 10:");
		
		for(i = 1; i < x; i++) {
			
			System.out.print("RODADA DE PLAYER" + i + "! Digite o número: ");
			
			input = in.nextInt();
			
			if(input == r) {
				
				d = true;
				
				d0 = i;
				
				
			}
			
			
		}
		
		
	}		
	
	
}

}


#2

Tem um objeto nulo na linha 34 da classe GameLauncher

Eu não sei qual é a linha 34, mas eu pressuponho que seja essa:

gl.getGG().startGame();

Se for, o erro é causado pq você esta chamando o método startGame em um objeto nulo (retorno de getGG)


#3

Você declarou os 2 objetos, fez os métodos get() para eles, mas não fez a instância dos mesmos, ao acionar o get de qualquer um dos 2 ele retornará nulo.


#4

oBRIGADO


#5

obrigado