raPPa 0 Denunciar post Postado Março 3, 2010 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
Raphael.java.Bit 0 Denunciar post Postado Março 3, 2010 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
raPPa 0 Denunciar post Postado Março 5, 2010 valeu Raphael deu certo aqui utilizando o switch, bem mais facil mesmo :) Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Março 5, 2010 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