Passa sem ler a string

3 respostas
S
import java.util.*;

public class PrinAviao {

    public static void main (String args[])
    {
    	int numA,numAssent,res = 0;
    	String s="";
    	
    	Aviao MyFly;
    	
    	Scanner leitor = new Scanner (System.in);
    	
    	System.out.printf("\nInforme o numero do Voo: ");
    	numA = leitor.nextInt();
    	
    	MyFly = new Aviao(numA); //instanciamento com construtor ja com o num do voo
    	
    	System.out.printf("\nBem vindo a central de compras das Linheas Aéreas Inteligentes Java");
    	System.out.printf("\nSeu voo é o %d",MyFly.getVoo());
    	
    	
    do{
    	
    	System.out.printf("\nAssentos, escolha seu numero do Assento: ");
    	numAssent = leitor .nextInt();
    	
    	res = MyFly.VerifyAssento(numAssent);
    	
    	if (res == 1)
    	{
    		System.out.printf("\nAssento livre!");
    		System.out.printf("\nOperacao realizada com sucesso");
    		MyFly.Ocupa(numAssent);
    	}
    	else
    	 System.out.printf("\nDesculpe, este assento já está ocupado");
    	
    	System.out.printf("\nDeseja ocupar outro lugar?[Sim/Nao]: ");//aparece a pergunta mas pula 
    	s = leitor.nextLine();
    }while(s != "Nao");

boa noite!
fiz um do while para fazer varias vezes ate digitar "Nao".. porem ele até faz a pergunta "Deseja ocupar outro lugar?" mas nao deixa escrever e pula para o proximo sem ter como escrever... ja vi algo parecido acontecer em C e eu colocava o fflush(stdio) para limpar o buffer, mas em java desconheço a solução

3 Respostas

B

Troque os nextAlgumaCoisa por nextLine e veja se funciona.

S

ja esta com nextLine(); e nao funcionou (linha 40)

B

Troque todos eles e converta as Strings que eles retornam para os tipos corretos.

Criado 20 de maio de 2009
Ultima resposta 20 de mai. de 2009
Respostas 3
Participantes 2