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