Há uma série de maneiras que você pode ir sobre a criação de um programa de calculadora em Java. Este artigo irá fornecer uma implementação calculadora que irá executar operações quando fornecido com uma string contendo dois operadores e uma operação ( por exemplo, " 2 + 2" ), juntamente com um método simples principal para fornecer um aplicativo de calculadora console. No entanto, este programa pode ser facilmente importado para um aplicativo baseado em AWT ou Swing- ou qualquer outra aplicação em que uma declaração aritmética precisa ser interpretada a partir de uma string. Coisas que você precisa 
 Java 
 editor de texto ou Java Ambiente de Desenvolvimento Integrado (IDE) 
 Mostrar Mais instruções 
 1 
 Criar um novo pacote Java chamado calculadora . Se você optar por fazer isso com uma IDE dedicada, provavelmente haverá uma opção para isso no menu \\ "Arquivo \\ " . Caso contrário, basta criar uma pasta em algum lugar no seu disco rígido chamado "Calculadora ". 
 2 
 Crie o \\ class " Calculator.java \\" e criar um esqueleto de classe dele. Novamente, se você usar um IDE , provavelmente há uma opção para fazer isso automaticamente , mas se você optar por usar um editor de texto , basta criar um arquivo de texto simples vazio com \\ " . Java \\" para a extensão do arquivo e escrever o seguinte dentro dele: 
 
 calculadora pacote 
 
 GO Calculadora public class { } 
 
 3 
 Declare algumas variáveis . Você vai querer dois \\ " BigDecimals \\ " (que deve ser importado a partir do pacote \\ " java.math \\") para seus operandos e um inteiro para o tipo de operação , bem como algumas constantes para representar as operações possíveis . Edite seu arquivo para que ele se parece com isso : 
 
 calculadora pacote 
 
 GO java.math.BigDecimal importação 
 
 GO ; 
 public class Calculadora { 
 BigDecimal operatorOne 
 
 GO BigDecimal operatorTwo 
 
 GO Integer OperationType 
 GO 
 
 público final Integer estática ADD = 0 
 
 GO SUB Integer static final public = 1 
 
 GO public final static Integer DIV = 2 
 
 GO público static final Integer MULT = 3 
 
 GO } 
 4 
 Declare métodos. Esta classe irá utilizar três métodos . Embora provavelmente pode conseguir com apenas um, tendo muitos curtos, fáceis de compreender os métodos é melhor do que ter menos métodos mais complexos. Os métodos serão chamados " parseString boolean (String s) ", "private Integer determineOperationType (String s) " e " BigDecimal performCalculation ()" . 
 
 O \\ " parseString \\ " , - " . 2 + 2" método irá receber uma string que representa uma operação aritmética , por exemplo, o \\ " determineOperationType \\ " método será usado por \\ " parseString \\" para interpretar a parte de operação da instrução. O método \\ " performCalculation \\ " faz os cálculos e retorna a resposta. 
 
 Insira o seguinte código em sua classe : 
 
 parseString boolean (String s) { 
 String [ ] operadores = s.split (\\ " [ ] \\ " ) 
 
 GO try { 
 operatorOne = new BigDecimal ( operadores [0]) 
 GO < , br /> operatorTwo = new BigDecimal ( operadores [2] ) 
 
 GO OperationType = determineOperationType ( operadores [1] ) 
 GO 
 retorno true < , br /> GO 
 } catch ( NumberFormatException e) { System.out.println 
 (\\ " . ERRO: operador inválido \\") 
 GO < br /> return false 
 
 GO } catch ( ArrayIndexOutOfBoundsException e) { System.out.println 
 (\\ "ERRO: número inválido de argumentos : \\ " + operators.length ) 
 
 GO return false 
 GO 
 
 } } 
 
 privado integer determineOperationType (String s ) throws NumberFormatException { if ( 
 s.equals ( \\ "+ \\ ")) return ADD 
 
 GO else if ( ( s.equals \\ "- \\") ) return SUB 
 
 GO else if ( s.equals (\\ "/\\ ")) 
 retorno DIV GO 
 ; else if ( s.equals ( \\ "* \\" )) retornar 
 MULT GO 
 mais lançar novo NumberFormatException () 
 
 GO } < , br /> 
 
 BigDecimal performCalculation () { try { 
 
 if ( OperationType == ADD ) { 
 voltar operatorOne.add ( operatorTwo ) 
 
 GO } else if ( OperationType == SUB) { 
 voltar operatorOne.subtract ( operatorTwo ) 
 GO < br /> } else if ( OperationType == MULT ) { 
 voltar operatorOne.multiply ( operatorTwo ) 
 
 GO } else if ( OperationType == DIV ) { < , br /> voltar operatorOne.divide ( operatorTwo ) 
 
 GO } else return new BigDecimal (0) 
 
 GO } catch ( ArithmeticException e) { 
 System.out.println (\\ "Exceção Aritmética ocorreu. mais provável é que esta é uma divisão por zero. \\") 
 
 GO return new BigDecimal (0 ) 
 
 GO } } 
 
 5 
 Escreva um método principal. Este é um exemplo de programa simples de usar seu novo \\ class "Calculadora \\ " , embora, na prática , você provavelmente vai querer importar sua classe como parte de outro programa mais complexo. Para que este método principal para o trabalho, no entanto, você vai precisar adicionar mais uma declaração de importação para o topo da sua classe : 
 
 import java.util.Scanner 
 GO 
 
 \\ " Scanner \\ " é uma classe de conveniência projetado para torná-lo mais fácil de ler dados a partir do console. Adicione o seguinte método principal para sua classe: 
 
 void main ( String [ ] args ) { public static 
 Calculadora c = new Calculadora () 
 ; GO 
 System.out.println (\\ " Digite uma string para representar o cálculo que está sendo executada Coloque um espaço entre cada token Por exemplo: \\ \\ \\. . " 2 + 2 \\ \\ \\ "e não \\ \\ \\ " 2 +2 \\ \\ \\ " \\ ") 
 
 varredura = new Scanner ( System.in ) 
 GO < br /> string s = scan.nextLine () 
 GO 
 
 boolean noError = c.parseString (s) 
 
 GO se ( noError ) { 
 BigDecimal bd = c.performCalculation ( ) 
 
 GO System.out.println ( bd.toPlainString ()) 
 GO < br />} }