Galera boa Tarde.
estou fazendo, com intuito acadêmico, um sistema que calcula o consumo de um carro.
Bom, mas o problema esta no seguinte:
A condição do meu WHILE é que a String sentinela seja diferente de "n", e la embaixo, no bloco do WHILE pergunto ao usuario "Deseja calcular novamente". E seria para ele inserir o valor da String sentinela, mas o programa esta passando direto desse ponto, ele executa o System.out.print , mas nao espera o usuario inserir o valor.
alguem tem noção do que eu estou fazendo de errado??
obrigado.
System.out.print("Deseja calcular o consumo novamente (s/n)? " );
sentinela = input.nextLine();
System.out.println();
import java.util.Scanner;
public class Consumo{
private int kilometro;
private int gasolina;
private float consumo;
private int kiloTotal;
private int gasoTotal;
private String sentinela;
Scanner input = new Scanner( System.in );
public void calcConsumo(){
while ( sentinela != "n" ){
System.out.print("Entre com a kilometragem percorrida: ");
kilometro = input.nextInt();
System.out.println();
System.out.print("Entre com a gasolina comsumida: " );
gasolina = input.nextInt();
System.out.println();
consumo = (float)kilometro / gasolina;
kiloTotal = kiloTotal + kilometro;
gasoTotal = gasoTotal + gasolina;
System.out.printf("%s%.2f\n", "A media de consumo do seu carro foi: ", consumo);
System.out.printf("%s%d%s\n", "Ate agora seu carro percorreu: ", kiloTotal, " kilometros" );
System.out.print("Deseja calcular o consumo novamente (s/n)? " );
sentinela = input.nextLine();
System.out.println();
}
System.out.print("PROGRAMA ENCERRADO");
}
}
Obs: a classe UsaConsumo é que executa o programa.