Hay un número de maneras que usted puede ir sobre la creación de un programa de cálculo en Java. En este artículo se proporcionará una aplicación calculadora que realice operaciones cuando se les proporciona una cadena que contiene dos operadores y una operación ( por ejemplo, " 2 + 2 ") , junto con un método main sencilla para proporcionar una aplicación de calculadora consola. Sin embargo , este programa puede pasar muy fácilmente a una aplicación Swing o AWT o basado en cualquier otra aplicación en la que un estado aritmético debe interpretarse de una cadena. Cosas que necesitará
Java editor
texto o Java entorno de desarrollo integrado ( IDE )
Mostrar más instrucciones
1
Crear un nuevo paquete Java llamado calculadora . Si usted elige hacer esto con un IDE específico , es probable que haya una opción para ello en el menú \\ " \\ File" . De lo contrario , basta con crear una carpeta en algún lugar de tu disco duro llamado "Calculadora ".
2
Crear la clase \\ " Calculator.java \\ " y crear un esqueleto de clase de la misma. Una vez más , si utiliza un entorno de desarrollo , es probable que haya una opción para hacer esto automáticamente , pero si usted elige utilizar un editor de texto , sólo tiene que crear un archivo de texto vacío con \\ " . Java \\" para la extensión del archivo y escribir lo siguiente en su interior :
paquete calculadora
GO public class Calculator {
}
3
Declarar algunas variables. Usted tendrá dos \\ " BigDecimals \\ " (que deben ser importados de la " java.math \\ " paquete \\ ) para sus operandos y un entero para el tipo de operación , así como algunas constantes que representan las operaciones posibles . Edite el archivo para que se vea así:
calculadora paquete GO
importación java.math.BigDecimal
GO ,
public class Calculator {
BigDecimal operatorOne
GO BigDecimal operatorTwo
GO Integer OperationType
GO
público Integer static final ADD = 0
GO SUB enteros estáticos public final = 1
GO public final DIV Integer estática = 2
GO pública MULT última Integer estática = 3
} GO
4
Declare métodos. En esta clase se utilizan tres métodos. Aunque puede pasar probablemente con una sola , que tiene muchas, métodos fáciles de entender a corto es mejor que tener un menor número de métodos más complejos. Los métodos serán llamados "booleano parseString (String s ) ", " determineOperationType Integer privada (String s )" y " performCalculation BigDecimal () parseString \\" "
El \\ ". ; método recibirá una cadena que representa una operación aritmética - por ejemplo, el método de \\ " determineOperationType \\ " será utilizado por \\ " parseString \\ " para interpretar la parte de operación de la instrucción " 2 + 2 . " . El método \\ " performCalculation \\ " hace los cálculos y devuelve la respuesta.
Inserte el siguiente código en tu clase :
operadores booleanos parseString (String s ) { = DPMI ( \\ " [ ] \\ ")
GO try {
operatorOne = new BigDecimal ( operadores [ 0 ] )
GO < ; br /> operatorTwo = new BigDecimal ( operadores [ 2 ] )
GO OperationType = determineOperationType ( operadores [ 1 ] )
GO return true < ; br /> GO
} catch ( NumberFormatException e) {
System.err.println ( \\ "ERROR : . operador no válido \\ ")
GO < br /> return false
GO } catch ( ArrayIndexOutOfBoundsException e) {
System.err.println ( \\ "ERROR : número de argumentos no válido : \\ " + operators.length )
GO return false
GO } }
privada determineOperationType Integer (String s ) throws NumberFormatException {
si ( s.equals ( \\ "+ \\ ") ) return AÑADIR
GO else if ( s.equals ( \\ "- \\ ") ) return
GO SUB
else if ( s.equals ( \\ "/\\ ") ) return DIV
GO ; else if ( s.equals ( \\ "* \\ ")) MULT regreso
GO más throw new NumberFormatException ()
} GO < ; br />
BigDecimal performCalculation () { try {
if ( OperationType == ADD) {
volver operatorOne.add ( operatorTwo )
GO } else if ( OperationType == SUB ) {
operatorOne.subtract regreso ( operatorTwo )
GO < br /> } else if ( OperationType == MULT ) {
operatorOne.multiply regreso ( operatorTwo )
GO } else if ( OperationType == DIV ) {< ; br /> return operatorOne.divide ( operatorTwo )
GO } else return new BigDecimal ( 0 )
GO } catch ( ArithmeticException e) {
System.err.println ( \\ " excepción aritmética ocurrido . Muy probablemente se trata de una división por cero. \\ ")
GO return new BigDecimal ( 0 )
GO } }
5
Escriba un método principal. Este es un ejemplo de programa simple de usar su nueva "Calculadora \\ " \\ clase , aunque en la práctica es probable que desee importar su clase como parte de otro programa más complejo. Para que este método principal para trabajar , sin embargo , tendrá que añadir una declaración más importación a la parte superior de su clase :
importación java.util.Scanner GO
\\ "Escáner \\ " es una clase de conveniencia diseñado para hacer más fácil la lectura de datos de la consola. Agregue el método siguiente a la clase principal :
void (String [] args ) { public static
Calculadora c = new Calculadora ( )
; GO
System.out.println ( \\ " . . Introduzca una cadena para representar el cálculo se realiza Coloque un espacio entre cada token Por ejemplo : \\ \\ \\ " 2 + 2 \\ \\ \\ "y no \\ \\ \\ " 2 +2 \\ \\ \\ " \\ ")
GO escáner scan = new escáner ( System.in )
GO < br /> String s = scan.nextLine ()
GO
booleano noError = c.parseString ( s )
GO si ( noError ) {
BigDecimal bd = c.performCalculation ()
GO System.out.println ( bd.toPlainString ())
GO < br />} }