O que está dando errado neste projeto Java ?!

7 respostas
anderson631

Sou SUPER INICIANTE no Java

Tenho que fazer um trabalho pro curso, da seguinte UML:

Então como podem ver, é pra criar o que tem acima :smiley:

Comecei a criar (me matando, mas comecei), e fiz assim nas Class’s:

CLASS: App

public class App
	{
	Apartamento meu_ap;

	public static void main(String args[])
		{
		Apartamento meu_ap;
		meu_ap = new Apartamento();

		meu_ap.ban1.chuv1.preco = 70;
		meu_ap.ban1.chuv1.cor = "Branco";

		meu_ap.ban1.lavat1.preco = 250;
		meu_ap.ban1.lavat1.cor = "Cinza";

		meu_ap.qua1.cama1.preco = 200;
		meu_ap.qua1.cama1.cor = "Amarelo";

		meu_ap.qua1.cama2.preco = 550;
		meu_ap.qua1.cama2.cor = "Preto";

		meu_ap.qua1.cama3.preco = 320;
		meu_ap.qua1.cama3.cor = "Branco";

		meu_ap.qua1.gua1.preco = 1000;
		meu_ap.qua1.gua1.cor = "Azul";


		System.out.println("CAMA 1: R$ " + meu_ap.qua1.cama1.preco);
		System.out.println("CAMA 2: R$ " + meu_ap.qua1.cama2.preco);
		System.out.println("CAMA 3: R$ " + meu_ap.qua1.cama3.preco);
		}
	}

CLASS: Apartamento

public class Apartamento
	{
	Banheiro ban1;
	Quarto qua1;
	Quarto qua2;

	public static void main(String args[])
		{
		Banheiro ban1;
		ban1 = new Banheiro();

		Quarto qua1;
		qua1 = new Quarto();
		}
	}

CLASS: Quarto

public class Quarto
	{
	Cama cama1;
	Cama cama2;
	Cama cama3;
	Cama cama4;
	GuardaRoupa gua1;

	public static void main(String args[])
		{
		Cama cama1;
		cama1 = new Cama();

		Cama cama2;
		cama2 = new Cama();

		Cama cama3;
		cama3 = new Cama();

		GuardaRoupa gua1;
		gua1 = new GuardaRoupa();
		}
	}

CLASS: Cama

public class Cama
	{
	double preco;
	String cor;
	}

CLASS: GuardaRoupa

public class GuardaRoupa
	{
	double preco;
	String cor;
	}

CLASS: Banheiro

public class Banheiro
	{
	Chuveiro chuv1;
	Lavatorio lavat1;
	}

CLASS: Lavatorio

public class Lavatorio
	{
	double preco;
	String cor;
	}

CLASS: Chuveiro

public class Chuveiro
	{
	double preco;
	String cor;
	}

Bom, estou mudando de dúvida, e aproveitando o mesmo post :smiley:

Acho que fiz tudo correto, e está dando este erro:

Print:

Obrigado,
Anderson Ferreira

7 Respostas

J

Isso não é um erro e sim uma advertencia …

você declarou a cariavel meu_ap mas nunca usou ela pra nada

o programa roda do mesmo jeito … uma advertencia não é um erro …

mas não tem sentido vc criar uma variavel que não vai usar

[[]]ss

milarflores

tá super certo a cara aí em cima foi quase a primeira variavel que vc criou e não ví em lugar nenhum

milarflores

man só uma questão vc usa qual IDE eu sempre usei o NETBEANS sempre desde quando comecei essa ano maio shaushaushuahsua no java

anderson631

Bom galera… Já utilizei as variáveis, mas o programa está com um erro estranho :S

Acho q fiz tudo certo, e está dando erro :shock:

Editei o meu 1° post, e tá la o erro =\

Obrigado,
Anderson Ferreira

anderson631

IDE é oq ? O programa ?

Se for, uso o Eclipse Galileu :smiley: (gratuito) ----

renamed

NetBeans tmb é gratuito, mas eu sempre usei eclipse e não me arrependi até hj heheh

Isso não é uma advertência, é um erro mesmo... vc criou um novo apartamento, mas na hora que você foi acessar ban1 vc não criou um novo objeto, dai foi lançada essa excessão de ponteiro nulo...
Eis algumas dicas...

1) Só deve existir uma main no seu programa, ela é o primeiro método que será chamada para seu programa ser iniciado. Não podem haver dois métodos que serão o primeiro a ser chamado no início...

2) Sua classe apartamento ficaria assim:

public class Apartamento  
    {  
    Banheiro ban1 = new Banheiro();  
    Quarto qua1 = new Quarto();  
    Quarto qua2 = new Quarto();  
  
   
    }

Como você pode ver precisamos criar um novo banheiro e dois novos quartos, os atributos das classes precisam ser iniciados. Faça isso nas outras classes também!

ok?

anderson631

Realmente funcionou :smiley:

O problema é que eu estava usando ‘vários’ mains …

Obrigado,
Anderson Ferreuira

Criado 16 de novembro de 2009
Ultima resposta 17 de nov. de 2009
Respostas 7
Participantes 4