Ci sono un certo numero di modi si può andare su come creare un programma di calcolatrice in Java . Questo articolo fornisce una applicazione calcolatrice che eseguirà le operazioni quando fornito con una stringa contenente due operatori e una operazione ( ad esempio, " 2 + 2" ) , insieme a un semplice metodo principale di fornire una calcolatrice console . Tuttavia, questo programma può essere facilmente importato in un Swing o AWT - based o di qualsiasi altra applicazione in cui un'istruzione aritmetica ha bisogno di essere interpretato da una stringa. Cose che ti serviranno 
 Java 
 editor di testo o Java Integrated Development Environment ( IDE ) economici Show More Istruzioni 
 1 
 Creare un nuovo pacchetto Java chiamato calcolatrice . Se si sceglie di fare questo con un IDE dedicato, ci sarà probabilmente una opzione per questo nel menu " file \\ " \\ . In caso contrario , basta creare una cartella da qualche parte sul disco rigido denominato "Calcolatrice ". 
 2 
 creare il " \\ Calculator.java " classe \\ e creare uno scheletro di classe di esso . Anche in questo caso , se si usa un IDE , vi è probabilmente una opzione per farlo automaticamente , ma se si sceglie di utilizzare un editor di testo , è sufficiente creare un file di testo vuoto con \\ " . Java \\" per l'estensione del file e scrivere quanto segue al suo interno : 
 
 pacchetto calcolatrice 
 GO 
 public class Calculator { 
 } 
 3 
 dichiarare alcune variabili . Si vuole due \\ " BigDecimals \\ " (che devono essere importati dal \\ " java.math \\ " pacchetto ) per i vostri operandi e un intero per il tipo di operazione , così come alcune costanti per rappresentare le possibili operazioni . Modificare il file in modo che appaia così: 
 
 calcolatrice pacchetto 
 GO 
 importazione java.math.BigDecimal 
 GO 
 , 
 public class Calculator { 
 BigDecimal operatorOne 
 GO 
 BigDecimal operatorTwo 
 GO 
 Integer OperationType 
 GO 
 
 pubblico Integer static final ADD = 0 
 
 GO SUB Integer statici finali pubblici = 1 
 GO 
 pubblica finale DIV Integer statico = 2 
 GO 
 public final static MULT Integer = 3 
 GO 
 } 
 4 
 dichiarare metodi. Questa classe utilizza tre metodi . Anche se probabilmente può cavarsela con un solo , avendo molti brevi, facile da capire i metodi è meglio che avere un minor numero , i metodi più complessi . I metodi saranno chiamati "boolean parseString (String s ) ", " determineOperationType private Integer (String s )" e " BigDecimal performCalculation ()" . 
 
 Il \\ " parseString \\ " , metodo riceverà una stringa che rappresenta una operazione aritmetica - per esempio il " \\ determineOperationType " metodo \\ verrà utilizzato da \\ " parseString \\ " per interpretare la parte di funzionamento della dichiarazione " 2 + 2 ". . Il metodo \\ " performCalculation \\ " fa la matematica e restituisce la risposta. 
 
 Inserire il codice seguente nella tua classe: 
 
 booleana parseString (String s ) { 
 String [] operatori = S.SPLIT ( \\ " [ ] \\ " ) 
 
 GO try { 
 operatorOne = new BigDecimal ( operatori [ 0 ] ) 
 GO < , br /> operatorTwo = new BigDecimal ( operatori [2 ] ) 
 
 GO OperationType = determineOperationType ( operatori [ 1 ] ) 
 
 GO return true < , br /> GO 
 } catch ( NumberFormatException e) { 
 System.out.println ( \\ "Errore: . operatore non valido \\ " ) 
 GO < br /> return false 
 GO 
 } catch ( ArrayIndexOutOfBoundsException e) { 
 System.out.println ( \\ "ERRORE : numero di argomenti non valido : \\ " + operators.length ) 
 
 GO return false 
 GO 
 } } 
 
 
 privato determineOperationType integer (String s ) throws NumberFormatException { 
 se ( s.equals ( \\ " + \\ " ) ) return ADD 
 GO 
 else if ( s.equals ( \\ " - \\ " ) ) return 
 SUB GO 
 else if ( s.equals ( \\ " /\\ " ) ) return DIV 
 GO 
 , altrimenti se ( s.equals ( \\ " * \\ " ) ) MULT ritorno 
 GO 
 altro throw new NumberFormatException ( ) 
 GO 
 } < , br /> 
 
 BigDecimal performCalculation ( ) { try { 
 
 se ( OperationType == ADD) { 
 tornare operatorOne.add ( operatorTwo ) 
 GO 
 } else if ( OperationType == SUB) { 
 operatorOne.subtract ritorno ( operatorTwo ) 
 GO < br /> } else if ( OperationType == MULT ) { 
 operatorOne.multiply ritorno ( operatorTwo ) 
 GO 
 } else if ( OperationType == DIV ) { < , br /> ritorno operatorOne.divide ( operatorTwo ) 
 GO 
 } else return new BigDecimal ( 0 ) 
 GO 
 } catch ( ArithmeticException e) { 
 System.out.println ( \\ "Eccezione aritmetica verificato . Molto probabilmente si tratta di una divisione per zero . \\ " ) 
 GO 
 ritorno new BigDecimal ( 0 ) 
 GO 
 
 } } 
 5 
 Scrivere un metodo main . Questo è un semplice programma di esempio per utilizzare il nuovo \\ "Calcolatrice \\ " di classe , anche se in pratica probabilmente si vuole importare la classe come parte di un altro programma più complesso . Affinché questo metodo principale di lavoro , tuttavia , è necessario aggiungere una istruzione di importazione per il primo della classe : 
 
 importazione java.util.Scanner 
 GO 
 
 \\ "Scanner \\" è una classe di convenienza progettato per rendere più facile la lettura dei dati dalla console . Aggiungere il seguente metodo principale per la classe : 
 
 static void main ( String [] args ) { pubblici 
 Calcolatrice c = new Calculator ( ) 
 ; GO 
 System.out.println ( \\ " . . Immettere una stringa per rappresentare il calcolo viene eseguito Mettere uno spazio tra ogni token , ad esempio : \\ \\ \\ " 2 + 2 \\ \\ \\ " e non \\ \\ \\ " 2 +2 \\ \\ \\ " \\ " ) 
 
 GO scansione dello scanner = new Scanner ( System.in ) 
 GO < br /> String s = scan.nextLine ( ) 
 GO 
 
 booleano noError = c.parseString ( s ) 
 
 se GO ( noError ) { 
 BigDecimal bd = c.performCalculation ( ) 
 
 GO System.out.println ( bd.toPlainString ( ) ) 
 GO < br /> 
 } }