Array boolean n altera

2 respostas
U

tenho suas classes menu e outra teatro, teatro:

public boolean disponivel(int numDoAssento, int codigo){

Menu e = new Menu();

if (e.arrayAssento[codigo][numDoAssento] == true) {

return true;

}

else return false;

}

public void venda(int numDoAssento, int codigo) {

Menu e = new Menu();

e.arrayAssento[codigo][numDoAssento] = true;

}

no menu:

public boolean arrayAssento[][] = new boolean[100][100];

else if (arrayIndentificador[codigoDoEvento] == 1 && arrayStatus[codigoDoEvento] == 1){

a = JOptionPane.showInputDialog(Numero do Assento?);

numDoAssento = Integer.parseInt(a);

if (e.disponivel(numDoAssento,codigoDoEvento) == false){

JOptionPane.showMessageDialog(null,Assento vendido com sucesso!”);

e.venda(numDoAssento,codigoDoEvento);

}

if (e.disponivel(numDoAssento,codigoDoEvento) == true){

JOptionPane.showMessageDialog(null,Assento ja vendido!!”);

}

}

fiz uns teste colocando fixo um valor true para uma array e ele responde assento vendido, mas para os outros sempre o valor das array depois de ser alterado para true volta a ser false, pq isso pode estar acontecendo?

2 Respostas

L

Não sei se entendi bem, mas esse seu código verifica se o assento está disponivel, se tiver, faz a venda para o passageiro, e depois verifica de novo se esta disponivel (e ai não vai mais estar pois acabou de ser vendido), e acaba dizendo assento ja vendido.

if (e.disponivel(numDoAssento,codigoDoEvento) == false){
JOptionPane.showMessageDialog(null,"Assento vendido com sucesso!");
e.venda(numDoAssento,codigoDoEvento);
}
if (e.disponivel(numDoAssento,codigoDoEvento) == true){
JOptionPane.showMessageDialog(null,"Assento ja vendido!!");
}

Tenta substituir isso ai por:

if (e.disponivel(numDoAssento,codigoDoEvento) == false){
JOptionPane.showMessageDialog(null,"Assento vendido com sucesso!");
e.venda(numDoAssento,codigoDoEvento);
}
else {
JOptionPane.showMessageDialog(null,"Assento ja vendido!!");
}
U

o problema e q a array esta sempre ficando false, ela n altera, oq pode ta havendo?

Criado 12 de junho de 2007
Ultima resposta 13 de jun. de 2007
Respostas 2
Participantes 2