Duvida com operador aritmetico e teclado. RESOLVIDO

Bom dia!
Eu preciso fazer uma calculadora console, só para operações + - * e /.

Eu nao sei como receber do teclado o operador.
Receberei 3 parametros, int, ? , int.
mas como usar esso operador?

Brigada!

Do teclado (Dispositivo de Entrada Padrão, em java: System.in) você só vai receber Strings.

Suponho que querem que você contrua um parser para expressões matemáticas. Esse parser vai ler essa String e transformar para um formato interno do teu sistema, separando os operandos dos operadores, e vendo quais operações tem que acontecer primeiro (multiplicação e divisão tem preferência sobre adição e subtração).

Depois outro subsistema vai ler esse formato interno e calcular o resultado, que depois você devolve para imprimir no console.

PS: Se o objetivo não é aprender a construir parsers, use o ScriptEngine que vem com o Java SE. A engine de JavaScript já faz todo o trabalho.

Olha o que eu tentei fazer, mas deu erro…deve ter varios, mas se puder me ajudar, agradeço!!!

[code]import java.util.Scanner;

public class Calculadora {

public static void main(String[] args) {

	System.out.println("Digite o que quiser sua operação:");

	Scanner teclado = new Scanner(System.in);
	int primeiroValor = teclado.nextInt();

	Scanner opera = new Scanner(System.in);
	String operador = opera.next();

	Scanner segundo = new Scanner(System.in);
	int segundoValor = segundo.nextInt();
}

public void calculo(int primeiroValor, String operador, int segundoValor) {
	if (operador == "+") {
		int resultado = primeiroValor + segundoValor;
		System.out.println(resultado);
	}
	if (operador == "-") {
		int resultado = primeiroValor - segundoValor;
		System.out.println(resultado);
	}
	if (operador == "*") {
		int resultado = primeiroValor * segundoValor;
		System.out.println(resultado);
	}
	if (operador == "/") {
		int resultado = primeiroValor / segundoValor;
		System.out.println(resultado);
	} else {
		System.out.println("Valor inválido");
	}
}

}

Vc pode primeiro escolher qual a operação ex:
1 - Adição
2 - Subtração
3 - Multiplicação
4 - Divisão

Depois efetuar a operação desejada.

Ou então dar uma olhada na classe Scanner.
http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html

Não se compara Strings com operadores lógicos, use o metodo .equals();

isso if (operador == "+") { por isso if (operador.equals("+")) {

No seu método main está faltando chamar o método calculo. E se não criar uma instância de Calculo para chamar este método declare-o como static.

public void calculo(int primeiroValor, String operador, int segundoValor) {
        if (operador.equals("+")) {
            int resultado = primeiroValor + segundoValor;
            System.out.println("O Resultado é: "+resultado);
        }
        if (operador.equals("-")) {
            int resultado = primeiroValor - segundoValor;
            System.out.println("O Resultado é: "+resultado);
        }
            if (operador.equals("*")) {
            int resultado = primeiroValor * segundoValor;
            System.out.println("O Resultado é: "+resultado);
        }
            if (operador.equals("/")) {
            int resultado = primeiroValor / segundoValor;
            System.out.println("O Resultado é: "+resultado);
        }
            else {
            System.out.println("Valor inválido");
        }
} 

Entao, eu fiz as modificações, acho que está faltando um parse da string que recebo do scanner para o int que preciso no meu método.
Não está indo…se puderem me ajudar!
Obrigada pelas ajudas já!

[code]import java.util.Scanner;

public class Calculadora {

public void calcula(int a, String op, int b) {
	System.out.println("Digite o que quiser sua operação:");
	Scanner teclado = new Scanner(System.in);
	int primeiroValor = teclado.nextInt();

	Scanner opera = new Scanner(System.in);
	String operador = opera.next();

	Scanner segundo = new Scanner(System.in);
	int segundoValor = segundo.nextInt();

	if (operador.equals("+")) {
		int resultado = primeiroValor + segundoValor;
		System.out.println("O resultado é:" + resultado);
	}
	if (operador.equals("-")) {
		int resultado = primeiroValor - segundoValor;
		System.out.println("O resultado é:" + resultado);
	}
	if (operador.equals("*")) {
		int resultado = primeiroValor * segundoValor;
		System.out.println("O resultado é:" + resultado);
	}
	if (operador.equals("/")) {
		int resultado = primeiroValor / segundoValor;
		System.out.println("O resultado é:" + resultado);
	} else {
		System.out.println("Valor inválido");
	}

}

public static void main(String[] args) {

	System.out.println("Digite o que quiser sua operação:");
	Scanner teclado = new Scanner(System.in);

	int primeiroValor = teclado.nextInt();

	Scanner opera = new Scanner(System.in);
	String operador = opera.next();

	Scanner segundo = new Scanner(System.in);
	int segundoValor = segundo.nextInt();

	int a = primeiroValor;
	String op = operador;
	int b = segundoValor;

	Calculadora cal = new Calculadora();
	cal.calcula(a, op, b);
}

}
[/code]

Ve agora

public class Calculadora {
    
    public void calcula(int a, String op, int b) {
        int resultado;
        try{
            if (op.equals("+")) {
                    resultado = a + b;
                    System.out.println("O resultado é: " + resultado);
            }
            else if (op.equals("-")) {
                    resultado = a - b;
                    System.out.println("O resultado é: " + resultado);
            }
            else if (op.equals("*")) {
                    resultado = a * b;
                    System.out.println("O resultado é: " + resultado);
            }
            else if (op.equals("/")) {
                    resultado = a / b;
                    System.out.println("O resultado é: " + resultado);
            }
            else {
                    System.out.println("Operador inválido");
            }
        }
        catch(Exception er){
            System.out.println("Erro ao Calcular: "+er);
        }

    }

	public static void main(String[] args) {

		System.out.println("Digite o primeiro Valor: ");
		Scanner teclado = new Scanner(System.in);
		int primeiroValor = teclado.nextInt();

                System.out.println("Digite o Simbolo Correspondente a operação: ");
		Scanner opera = new Scanner(System.in);
		String operador = opera.next();

		System.out.println("Digite o segundo Valor: ");
                Scanner segundo = new Scanner(System.in);
		int segundoValor = segundo.nextInt();

		Calculadora cal = new Calculadora();
		cal.calcula(primeiroValor, operador, segundoValor);
	}
}

Thiago, mtoo obrigada!!!
Deu certinho!!!
Eu estava tentando fazer tudo direto, mas pelo visto só buscando uma tecla por vez, certo?

Thanks!

Vc pode tentar fazer tudo de uma vez, mas seria mais complicado uma forma que funcionasse bem.

Outra coisa, não esquece de colocar [Resolvido] no titulo do tópico quando não restar mais nenhuma duvida.

Por hora tá otimo!

brigada!