Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

raPPa

[Resolvido] Calculadora

Recommended Posts

Boa tarde pessoal, tenho que fazer uma calculadora com um menu:

1.somar

2.subtrair

3....

até

5.limpar, nesse limpar como que eu faço pra ele voltar e pedir pra digitar os valores novamente?

é isso ai, valeu!

 

package ExercicioSala;
import java.util.Scanner;
public class Calculadora {

	int x;
	int y;
	int res;
	int op;
	
	public void Ler(){
		System.out.println("Digite dois valores: ");
		x=new Scanner(System.in).nextInt();
		y=new Scanner(System.in).nextInt();
	}
	public void Calculo(){
		for(;;){
		System.out.println("\nO que deseja fazer:\n1.somar\n2.subtrair\n3.dividir\n4.multiplicar\n5.limpar\n6.sair");
		op=new Scanner(System.in).nextInt();
		if(op==1)
			res=x+y;
		if(op==2)
			res=x-y;
		if(op==3)
			res=x/y;
		if(op==4)
			res=x*y;
		System.out.println("RESULTADO: "+res);
		}
	}

}

package ExercicioSala;

public class Menu {
	public static void main(String[]args){
		Calculadora calc=new Calculadora();
		calc.Ler();
		calc.Calculo();
	}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você conhece Switch e While?

experimente pensar em uma resolução utilizando esses dois operadores

isso irá facilitar a sua vida.

 

algo mais ou menos assim.

 

package ExercicioSala;
import java.util.Scanner;
public class Calculadora {

 int x;
 int y;
 int resultado;
 int operador=0;

 public static void Calculo(){
  
    while(operador!=6){
     System.out.println("Digite o primeiro valor: ");
     x=new Scanner(System.in).nextInt();
     System.out.println("Digite o segundo valor: ");
     y=new Scanner(System.in).nextInt();

     System.out.println("\nO que deseja fazer:\n1.somar\n2.subtrair\n3.dividir\n4.multiplicar\n5.limpar\n6.sair");
     operador=new Scanner(System.in).nextInt();


      switch(operador){
       case 1: resultado=x+y;
       case 2: resultado=x-y;
       case 3: resultado=x/y;
       case 4: resultado=x*y;
       case 5: continue;
      }
     System.out.println("RESULTADO: "+resultado);
      }
     
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só um detalhe: não foi o switch que arrumou teu código. O que tem de diferente é o loop while. Aliás, estão faltando os breaks. Nesse caso, tanto faz tanto fez usar if ou switch, já que legibilidade não é um problema, porque você não tem opções separadas p/ uma mesma ação e nem intervalos de valores.

 

 

http://faq.javaranch.com/java/HowToClearTheConsole

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.