Dúvida sobre calculadora

Pessoal, estou criando uma calculadora simples, mas estou com uma dúvida… como faço nessa parte, tipo:

digito os números e a operação matemática + - x /

ai ficaria assim : total += n1 n2 + n3 n4;

eu estou com dúvida na parte do sinal … tipo… como ele vai reconhecer que cliquei no + e vai fazer a soma… ?

da forma que eu fiz eu coloquei dois campos… digitava no campo 1 e no campo 2 … quando clicava no operador matemático ele calculava… mas eu quero deixar so com 1 campo ai tou sem saber como faço essa parte para digitar tais numeros depois clicar no + e digitar o outro numero .

Quando ele clicar no +, guarde o número atual numa variável.

é como eu disse. assim:

digita os números

12 “+” 20;

eu sou sem saber como eu faço para dividir o 12 do + e do 20

.getIndexOf("+");
.substring( 0, … )
.substring(…)

Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.

[quote=gRoOve]Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.[/quote]
Ele não quer assim…

Não é dakele tipo:
-Digite um número: 8
-Digite outro número: 5
-Digite a operação: +
-O resultado é 13.

Ele disse:

[quote=felipevs]é como eu disse. assim:

digita os números

12 “+” 20;

eu sou sem saber como eu faço para dividir o 12 do + e do 20[/quote]

Ou seja, é algo do tipo:
-Digite o que deseja: 8 + 5
-O resultado é 13.

Se não entendi errado…
Se for realmente a operação inteira em uma linha, ficaria algo do tipo:

[code] Scanner scn = new Scanner(System.in); //Criando o Scanner para ler o digitado

	System.out.println("Digite a linha de comando.");
	String linha = scn.nextLine().replace(" ", ""); // Lê a linha (sendo algo do tipo: 9 * 105)

	String[] ops = new String[] { "+", "-", "*", "/" }; //As possíveis operações
	String op = ""; //operação selecionada

	for (int i = 0; i < ops.length; i++) {
		if (linha.contains(ops[i])) { //nesse caso é somente uma operação, então podemos verificar apenas se ele contém uma das ops
			op = ops[i];
			break;
		}
	}

	int num1 = Integer.parseInt(linha.substring(0, linha.indexOf(op))); //acha o primeiro número, passa para int e guarda em uma variável
	int num2 = Integer.parseInt(linha.substring(linha.indexOf(op) + 1)); //acha o segundo número, passa para int e guarda em uma variável

	//Verirfica qual foi a operação desejada, realiza a operação e escreve no console.
	if (op.equals("+"))
		System.out.println(num1 + num2);
	else if (op.equals("-"))
		System.out.println(num1 - num2);
	else if (op.equals("*"))
		System.out.println(num1 * num2);
	else
		System.out.println(num1 / num2);[/code]

Ex.:
Digite a linha de comando.
[color=green]104 / 2[/color]
52

Sugestão:
Depois implemente a solução para fazer algo do tipo:

Digite a linha de comando
[color=green]((104 / 2) * 5) - 3[/color]
O resultado é 257

estou usando swing

[quote=pedroroxd][quote=gRoOve]Uma pergunta, por acaso está usando Swing ou fazendo direto pelo console?
Se estiver usando GUI, basta fazer como o Vini escreveu, quando digitar o primeiro número, mostra na tela, e quando clicar na operação salva o valor do primeiro número. Posta teu código pra gente te ajudar.[/quote]
Ele não quer assim…

Não é dakele tipo:
-Digite um número: 8
-Digite outro número: 5
-Digite a operação: +
-O resultado é 13.[/quote]
Mas em nenhum momento eu falei que a calculadora funcionaria assim, leia com atenção o que eu escrevi.
De qualquer forma ele está usando Swing, então tente desenvolver como te falei.
Olhe este tópico, no final dele tem um link para uma vídeo aula ensinando a montar uma calculadora, acho que pode te ajudar.[youtube]