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 />} }