Ajuda com o codigo

09/12/2015

1

Boa tarde amigos, estou tentando criar um método que pergunta ao usuário se ele quer pintar a casa se sim, o usuário diz a cor e depois de pintado, o usuário que questionado se gostou da cor caso não goste ele pode pintar a casa outra vez.

O problema e que quando executo o código, ele pergunta se o usuário quer pintar a casa e após a resposta o programa simplesmente para, já tentei depurar mas não achei nada, podem me ajudar a encontrar o erro?

public void pintaCasa(){
		
			Scanner input = new Scanner(System.in);
			
			String aux;			
			
			System.out.printf("\n Você quer pintar sua casa?\n\n Digite ''S'' para sim e ''N'' para não");
			
			aux = input.next();			
			
			if(aux == "s" || aux == "S"){ //se o usuario quiser pintar a casa ele escolhe a cor da casa
			
					System.out.printf("\n A casa agora está na cor " + this.cor + "\n\n que cor você quer pintar a casa agora?");
		
						String aux2 = input.nextLine();
			
			this.cor = aux2;
			
			System.out.printf("\n\n Pronto, Sua casa agora está na cor " + this.cor + "\n\n Você gostou?"); //pergunta se usuario gostou da cor da casa
			
			String aux1 = input.nextLine();
			
			if(aux1 == "s" || aux1 == "S"){
				
				System.out.println("Que bom que você gostou!!!");
			}
			
			
						else if(aux1 == "n" || aux1 == "N"){ //se não gostou muda a casa para a cor branca e 
				
								System.out.println("Que pena você que você não gostou,\n Mas você pode pinta-la de outra cor.");
								
														
								this.pintaCasa();//retorna ao processo de pintar a casa
						}
Responder

Posts

09/12/2015

Marlon Silva

Gente, descobri que o java não está lendo o "S" || "s" ou "N" || "n". alguem pode me dar uma sugestão?
Responder

09/12/2015

Jothaz

Tenta assim:

aux1.equals("s")
Responder

09/12/2015

Marlon Silva

Obrigado Jothaz, deu certinho.
Vou pesquisar mais sobre este objeto.
Responder