Estou com uma dúvida de conversão. Estou utilizando a classe Scanner para inserir pelo teclado números int mas não consigo entrar com um char. Este é o meu aplicativo:
[code]/* aplicativo que pede ao usuário para entrar com dois operandos e um operador depois
calcular e mostrar o resultado da operação correspondnte */
Ok! pessoal. Utilizei a dica do Tecnoage e o aplicativo compilou sem erros, mas o resultado não estar sendo calculado. Sempre quando executo o resultado sempre dá 0 (zero). Vejam como estar o código agora: [code]import java.util.Scanner;
Oi,
Como eu nao tenho Scanner aqui… fiz assim ó: (deve ser a mesma maneira)
[code]
// Declara as variaveis que recebe as teclas do teclado.
BufferedReader
teclado = new BufferedReader(new InputStreamReader(System.in));
// Declara os operadores.
String
operando1 = null;
String
operador = null;
String
operando2 = null;
float resultado1 = 0, resultado3 = 0, total=0;
// Pergunta quel o primeiro operando.
System.out.print("Digite o 1º operando: ");
operando1 = teclado.readLine();
resultado1 = Float.parseFloat(operando1); // Converte o valor digitado
System.out.print("Digite o operador: ");
operador = teclado.readLine();
System.out.print("\nDigite o 2º operando: ");
operando2 = teclado.readLine();
resultado3 = Float.parseFloat(operando2); // Converte o valor digitado.
if (
operador.equals("+")
)
{
total = resultado1 + resultado3;
}
else if (
operador.equals("-")
)
{
total = resultado1 + resultado3;
}
else if (
operador.equals("*")
)
{
total = resultado1 + resultado3;
}
else if (
operador.equals("/")
)
{
total = resultado1 + resultado3;
}
ok pessoal, dei uma olhada no código da lina (obrigado lina pela dica) e modifiquei as comparações booleanas de " [color=blue]==[/color] " para o metodo “[color=blue]equals[/color]” e o resultado agora deu tudo OK!. Mas não quero ver apenas o resultado dando certo, quero saber a explicação porque que com o método equals deu certo e com o " == " não deu. Vejam novamente o código: [code]import java.util.Scanner;
class Td2_9 {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.print("Digite o 1º operando: ");
int operando1 = input.nextInt();
System.out.print("Digite o operador: ");
String operador = input.next();
System.out.print("Digite o 2º operando: ");
int operando2 = input.nextInt();
int resultado = 0;
if(operador.equals("+")){
resultado = operando1 + operando2;
}
else if(operador.equals("-")){
resultado = operando1 - operando2;
}
else if(operador.equals("*")){
resultado = operando1 * operando2;
}
else {
resultado = operando1 / operando2;
}
System.out.println("resultado: "+operando1+""+operador+""+operando2+"="+resultado);
}
}[/code]
[color=green]Obrigado a todos pelas dicas. [/color]
Pois é Tecnoage; é como vc colocou mesmo. Estava corrigindo meu código enquanto vc respondeu do mesmo jeito que eu corrigi, foi mal em não ter olhado sua resposta antes. E a explicação de dar certo com “equals” e não com “==”, vc poderia me dizer?
ok! pessoal novamente obrigado a todos pela ajuda.