Operações Matemáticas

Vejam o código:

[code]import java.util.Scanner;;
public class Calculadora {
public static float somar(float num1, float num2){
float total;
total = num1 + num2;
return total;
}
public static float subtrair (float num1, float num2){
float total;
total = num1 - num2;
return total;
}
public static float multiplicar (float num1,float num2){
float total;
total = num1num2;
return total;
}
public static float dividir (float num1, float num2){
float total;
total = num1/num2;
return total;
}
public static float potencia (float num1){
float total;
total = num1
num1;
return total;

}

/**
 * @param args
 */
public static void main(String[] args) {
	Scanner input = new Scanner(System.in);
	float val1, val2, resultado = 0, valortotal = 0;
	String continuacao,operacao;
	
	System.out.println("Digite o valor do 1º número:");
	val1 = input.nextFloat();
	System.out.println("Digite o valor do 2º número:");
	val2 = input.nextFloat();
	
	System.out.println("Digite a opção desejada +,-,*,/,^");
            
	operacao = input.next();	
	do{
		
			
	switch(operacao){
	case "+":
		    resultado = somar(val1,val2);
			break;
	case "-":
		    resultado = subtrair(val1,val2);
			break;
	case "*":
		    resultado = multiplicar(val1,val2);
			break;
	case "/":
		    resultado = dividir(val1,val2);
			break;
	case "^":
		    resultado = potencia(val1);
		    break;
	default:
		    System.out.println("Operação Inválida");
		}
	System.out.printf("O valor do calculo e: %.2f\n",resultado);
	System.out.println("Deseja continuar (S/N)?\n");
	continuacao = input.next();
	}while (continuacao.equals("S"));
	System.out.println("Operacao Finalizada");
	[/code]

Eu quero com resultado obtido somar, subtrair, dividir, multiplicar, enfim continuar a operação. Só não sei como e onde colocar no código isto. Alguém pode me ajudar?

solicite o 1º número fora do loop, aí dentro do loop vc faz:

  • pede operador
  • pede 2º número
  • calcula e atribui o resultado ao 1º número
  • volta o loop até cansar :wink:

algoritmo besta, besta.

Boa noite.

É o seguinte
fiz algumas alterações no seu código e está funcionando

você só tem que ver qual é a linha correta para colocar em

operacao = input.toString();

pois aqui ele tem que ler a entrada padrão
e eu esqueci qual que é

estou na facul e vou entrar para aula agora mas tipo assim
você colocou os códigos no lugar certinho
só o do{
que estava no lugar errado pois ele não ia repetir o loop e ia
sair toda hora

falta só colocar a linha correta para funcionar

sobre switch não tenho certeza 100%
mas acredito fortemente que ele só funcione
se você passar números inteiros

por isso eu li a opção que a pessoa digitou
comparei com if e atribui um número em ordem
crescente relativo a qual operação a pessoa escolheu.
vou indo
se tiver dificuldade posta aí

abraço e sucesso

[code]package pacoteA;

import java.util.Scanner;;
public class Calculadora {
public static float somar(float num1, float num2){
float total;
total = num1 + num2;
return total;
}
public static float subtrair (float num1, float num2){
float total;
total = num1 - num2;
return total;
}
public static float multiplicar (float num1,float num2){
float total;
total = num1num2;
return total;
}
public static float dividir (float num1, float num2){
float total;
total = num1/num2;
return total;
}
public static float potencia (float num1){
float total;
total = num1
num1;
return total;

}

/** 
 * @param args 
 */  
public static void main(String[] args) {  
    Scanner input = new Scanner(System.in);  
    float val1, val2, resultado = 0, valortotal = 0;  
    String continuacao, operacao;  
    int opcao = 0;
      
    do{ 
    System.out.println("Digite o valor do 1º número:");  
    val1 = input.nextFloat();  
    System.out.println("Digite o valor do 2º número:");  
    val2 = input.nextFloat();  
      
    System.out.println("Digite a opção desejada +,-,*,/,^");  
              
    operacao = input.toString();
    
    if(operacao == "+"){        	
    	opcao = 1;
    }
    else{
    	if(operacao == "-")
    		opcao = 2;
    	else{
    		if(operacao == "*")
    			opcao = 3;
    		else{
    			if(operacao == "/")
    				opcao = 4;
    			else{
    				if(operacao == "^")
    					opcao = 5;
    				}
    			}
    		}
    	}
    			
          
              
    switch(opcao){  
    case 1:  
            resultado = somar(val1,val2);  
            break;  
    case 2:  
            resultado = subtrair(val1,val2);  
            break;  
    case 3:  
            resultado = multiplicar(val1,val2);  
            break;  
    case 4:  
            resultado = dividir(val1,val2);  
            break;  
    case 5:  
            resultado = potencia(val1);  
            break;  
    default:  
            System.out.println("Operação Inválida");  
        }  
    System.out.println("O valor do calculo e: "+resultado);  
    System.out.println("Deseja continuar (S/N)?\n");  
    continuacao = input.next();  
    }while (continuacao.equals("S"));  
    System.out.println("Operacao Finalizada");  

}
}[/code]