Es gibt eine Reihe von Möglichkeiten, wie Sie über das Erstellen einer Taschenrechner-Programm in Java gehen kann. Dieser Artikel liefert einen Taschenrechner Umsetzung , die Operationen werden , wenn sie mit einer Schnur , die zwei Betreiber und eine Operation ( z. B. " 2 + 2") vorgesehen ist, zusammen mit einer einfachen Methode, um eine Haupt- Konsole Taschenrechner-Anwendung bereitzustellen. Jedoch kann dieses Programm leicht in eine Schaukel - oder AWT -basierte Anwendung oder jede andere Anwendung, bei der eine arithmetische Anweisung muss von String interpretiert importiert werden. Things You
Java
Text -Editor oder Java Integrated Development Environment (IDE) brauchen
anzeigen Weitere Anweisungen
1
Erstellen Sie eine neue Java -Paket namens Rechner . Wenn Sie dies mit einer engagierten IDE zu tun wählen , wird es wahrscheinlich eine Option für diese in der \\ "Datei \\ "-Menü sein . Ansonsten einfach einen Ordner irgendwo auf der Festplatte als " Rechner ".
2
Erstellen der \\ " Calculator.java \\ " Klasse und eine Klasse erstellen Skelett davon. Auch wenn Sie eine IDE verwenden , gibt es wahrscheinlich eine Option, um dies automatisch zu tun , aber wenn Sie einen Text -Editor zu verwenden wählen , erstellen Sie einfach eine leere Textdatei mit \\ " . Java \\ " für die Datei-Endung und schreiben die folgende drin :
Paket Kalkulator GO
public class Calculator {
}
3
Declare einige Variablen . Sie wollen zwei \\ " BigDecimals \\ " (die aus dem \\ " java.math \\ "-Paket importiert werden ) für Ihre Operanden und einem Integer -Typ für den Betrieb , sowie einige Konstanten , um die möglichen Operationen darstellen . Bearbeiten Sie Ihre Datei so dass es wie folgt aussieht:
Paket Kalkulator GO
Import java.math.BigDecimal
GO ;
public class Calculator {
BigDecimal operatorOne
GO BigDecimal operatorTwo
GO Integer operationType
GO
public final static Integer ADD = 0
GO public final static Integer SUB = 1
GO public final statischen Integer DIV = 2
GO public final static Integer MULT = 3
GO }
4
Declare Methoden . Diese Klasse verwendet drei Methoden . Obwohl es wahrscheinlich durch zu bekommen kann nur mit einem , mit vielen kurzen , leicht verständlichen Methoden ist besser, mit weniger , komplexere Methoden . Die Methoden werden als " boolean parseString (String s ) ", "private Integer determineOperationType (String s )" und " BigDecimal performCalculation () werden."
Die \\ " parseString \\ " ; Verfahren erhalten Sie eine Zeichenfolge, die eine arithmetische Operation stellt - zum Beispiel die \\ " determineOperationType \\ "-Methode wird von \\ " parseString \\ " verwendet werden , um den Betrieb Teil der Aussage interpretieren " 2 + 2 ". . Die Methode \\ " performCalculation \\ " macht die Mathematik, und gibt die Antwort.
Fügen Sie den folgenden Code in Ihrer Klasse :
boolean parseString (String s ) {
String [] Operatoren = s.split ( \\ "[] \\ " )
GO try {
operatorOne = new BigDecimal (Operatoren [0])
GO < ; br /> operatorTwo = new BigDecimal (Operatoren [2] )
GO operationType = determineOperationType ( Betreiber [1] )
GO return true < ; br /> GO
} catch ( NumberFormatException e) {
System.err.println ( \\ "ERROR : . Ungültige Operator \\ " )
GO < br /> return false
GO } catch ( ArrayIndexOutOfBoundsException e) {
System.err.println ( \\ "ERROR : Ungültige Anzahl von Argumenten : \\ " + operators.length )
GO return false
GO
} }
privaten Integer determineOperationType (String s ) throws NumberFormatException {
if ( s.equals ( \\ "+ \\ " ) ) return ADD
GO else if ( s.equals ( \\ "- \\ " ) ) return SUB
GO else if ( s.equals ( \\ "/\\ " ) ) return DIV
GO ; else if ( s.equals ( \\ " * \\ " ) ) return MULT
GO sonst throw new NumberFormatException ()
GO } < ; br />
BigDecimal performCalculation () { try {
if ( operationType == ADD) {
zurück operatorOne.add ( operatorTwo )
GO } else if ( operationType == SUB) {
Rückkehr operatorOne.subtract ( operatorTwo )
GO < br /> } else if ( operationType == MULT ) {
Rückkehr operatorOne.multiply ( operatorTwo )
GO } else if ( operationType == DIV) { < ; br /> Rückkehr operatorOne.divide ( operatorTwo )
GO } else return new BigDecimal (0)
GO } catch ( ArithmeticException e) {
System.err.println ( \\ "Arithmetic Exception aufgetreten. Sehr wahrscheinlich ist dies eine Division durch Null . \\ " )
GO return new BigDecimal (0 )
GO }
}
5
schreiben main-Methode . Dies ist ein einfaches Beispiel-Programm auf Ihren neuen \\ " Calculator \\ " verwenden Klasse , obwohl in der Praxis werden Sie wahrscheinlich wollen , um Ihre Klasse als Teil eines anderen komplexeren Programm importieren . Um für dieses wichtigste Methode zu arbeiten, jedoch müssen Sie einen weiteren Import-Anweisung an die Spitze der Klasse hinzu:
Import java.util.Scanner GO
\\ "Scanner \\ " ist ein Komfort -Klasse entwickelt, um es einfacher, Daten von der Konsole zu lesen. Fügen Sie den folgenden wichtigsten Methode, um Ihre Klasse :
public static void main (String [] args ) {
Rechner c = new Rechner ()
; GO
System.out.println ( \\ " . . Geben Sie eine Zeichenfolge , die Berechnung durchgeführt repräsentieren Setzen Sie ein Leerzeichen zwischen den einzelnen Token zum Beispiel: \\ \\ \\ " 2 + 2 \\ \\ \\ " und nicht \\ \\ \\ " 2 +2 \\ \\ \\" \\ " )
GO Scanner scan = new Scanner ( System.in )
GO
String s = scan.nextLine ()
GO
boolean noError = c.parseString ( s )
wenn GO ( noError ) {
BigDecimal bd = c.performCalculation ()
GO System.out.println ( bd.toPlainString ())
GO < br />} }