Este pequeno e simples pedaço de código:
case 4:
char op;
float opa,opb;
System.out.println("QUAL A OPERAÇÃO A EFECTUAR (+,-,*,/):");
op = Keyboard.readChar();
System.out.println("INTRODUZA O PRIMERO OPERANDO:");
opa = Keyboard.readFloat();
System.out.println("INTRODUZA O SEGUNDO OPERANDO:");
opb = Keyboard.readFloat();
switch (op){
case '+':
System.out.println("O resultado da operação é "+ (opa+opb));break;
case '-':
System.out.println("O resultado da operação é "+ (opa-opb));break;
case '*':
System.out.println("O resultado da operação é "+ (opa*opb));break;
case '/':
System.out.println("O resultado da operação é "+ (opa/opb));break;
}
break;
não devia correr perfeitamente? É que quando executa, salta a leitura da variavel op. Imprime "QUAL A OPERAÇÃO A EFECTUAR (+,-,*,/):" e logo a seguir "INTRODUZA O PRIMERO OPERANDO:" ficando à espera do valor de opa, mas saltando o op. Alguém me diz o que estou a fazer mal?
case 4:
char op;
float opa,opb;
System.out.println("QUAL A OPERAÇÃO A EFECTUAR (+,-,*,/):");
op = Keyboard.readChar();
System.out.println("INTRODUZA O PRIMERO OPERANDO:");
opa = Keyboard.readFloat();
System.out.println("INTRODUZA O SEGUNDO OPERANDO:");
opb = Keyboard.readFloat();
switch (op){
case '+':
System.out.println("O resultado da operação é "+ (opa+opb));break;
case '-':
System.out.println("O resultado da operação é "+ (opa-opb));break;
case '*':
System.out.println("O resultado da operação é "+ (opa*opb));break;
case '/':
System.out.println("O resultado da operação é "+ (opa/opb));break;
}
break;
não devia correr perfeitamente? É que quando executa, salta a leitura da variavel op. Imprime "QUAL A OPERAÇÃO A EFECTUAR (+,-,*,/):" e logo a seguir "INTRODUZA O PRIMERO OPERANDO:" ficando à espera do valor de opa, mas saltando o op. Alguém me diz o que estou a fazer mal?