1 Δημιουργήστε ένα νέο πακέτο ονομάζεται Java αριθμομηχανή . Αν επιλέξετε να το κάνετε αυτό με ένα ειδικό IDE , θα υπάρξει πιθανώς μια επιλογή γι 'αυτό το μενού \\ "Αρχείο \\" . Διαφορετικά, απλά δημιουργήστε ένα φάκελο κάπου στο σκληρό σας δίσκο που ονομάζεται " Υπολογιστής ". 2
Δημιουργήστε το \\ " Calculator.java \\ " τάξη και να δημιουργήσει μια κατηγορία σκελετό της. Και πάλι , αν χρησιμοποιείτε ένα IDE , υπάρχει πιθανότατα μια επιλογή για να το κάνει αυτό αυτόματα , αλλά αν επιλέξετε να χρησιμοποιήσετε ένα πρόγραμμα επεξεργασίας κειμένου , απλά δημιουργήστε ένα κενό αρχείο απλού κειμένου με \\ " . Java \\ " για την επέκταση του αρχείου και να γράφουν τα ακόλουθα μέσα σε αυτό :
αριθμομηχανή πακέτο
GO Υπολογιστής δημόσια τάξη { }
εικόνων 3
αναγνωρίσει κάποιες μεταβλητές . Θα ήθελα δύο \\ " BigDecimals \\" (η οποία πρέπει να εισάγονται από το \\ πακέτο " java.math \\" ) για τελεστές σας και ένας ακέραιος για τον τύπο λειτουργίας , καθώς και ορισμένες σταθερές για να αντιπροσωπεύουν τις πιθανές λειτουργίες . Επεξεργαστείτε το αρχείο σας έτσι ώστε να μοιάζει με αυτό :
αριθμομηχανή πακέτο
GO java.math.BigDecimal εισαγωγής
GO ?
Υπολογιστής δημόσια τάξη {
BigDecimal operatorOne
GO BigDecimal operatorTwo
GO Ακέραιος operationType
GO
δημόσια τελικό στατική Ακέραιος ADD = 0
GO δημόσια τελικό στατική Ακέραιος SUB = 1
GO δημόσια τελικό στατική Ακέραιος DIV = 2
GO δημόσια τελικό στατική Ακέραιος MULT = 3
GO }
Η 4
κηρύξει μεθόδους . Η κατηγορία αυτή θα χρησιμοποιήσει τρεις μεθόδους . Αν και μπορεί πιθανώς να πάρετε κοντά με ένα μόνο , που έχει πολλές σύντομες , εύκολες στην κατανόηση των μεθόδων είναι ότι καλύτερο έχει λιγότερες , πιο πολύπλοκες μεθόδους . Οι μέθοδοι θα ονομάζεται " boolean parseString ( String s ) ", " ιδιωτική Ακέραιος determineOperationType ( String s ) " και " BigDecimal performCalculation ( ) " .
Το \\ " parseString \\ " ? - " . 2 + 2 " μέθοδος θα λάβετε ένα string που αντιπροσωπεύει μια αριθμητική πράξη , για παράδειγμα το \\ " determineOperationType \\ " μέθοδος θα πρέπει να χρησιμοποιείται από \\ " parseString \\ " για να ερμηνεύσει τη λειτουργία μέρος της δήλωσης . Η μέθοδος \\ " performCalculation \\ " κάνει τα μαθηματικά και επιστρέφει την απάντηση .
Εισάγετε τον παρακάτω κωδικό στο μάθημά σας :
boolean parseString ( String s ) {
String [ ] = φορείς s.split ( \\ " [ ] \\ " ) />
try {
operatorOne = νέα BigDecimal ( φορείς [ 0 ] )
GO br /> operatorTwo = νέα BigDecimal ( φορείς [ 2 ] )
GO operationType = determineOperationType ( φορείς [ 1 ] )
αλήθεια br /> GO
} αλιευμάτων ( NumberFormatException ε) {
System.err.println ( \\ " . ΣΦΑΛΜΑ : Μη έγκυρο φορέα \\" )
GO
return false
GO } αλιευμάτων ( ArrayIndexOutOfBoundsException ε) {
System.err.println ( \\ " ΣΦΑΛΜΑ : Μη έγκυρος αριθμός επιχειρήματα : \\ " + operators.length )
GO επιστρέψει false
GO
} }
ιδιωτικό ακέραιος determineOperationType ( String s ) ρίχνει NumberFormatException {
αν ( s.equals ( \\ " + \\" ) ) επιστροφή ADD
GO else if ( s.equals ( \\ " - \\" ) ) SUB επιστροφή
GO else if ( s.equals ( \\ " /\\ " ) )
DIV επιστροφή GO
? else if ( s.equals ( \\ " * \\" ) ) επιστρέφει MULT
GO άλλο ρίξει νέο NumberFormatException ( )
GO } br />
BigDecimal performCalculation ( ) { try
{ if ( operationType == ADD ) {
επιστρέψει operatorOne.add ( operatorTwo )
GO } else if ( operationType == SUB ) {
επιστρέψει operatorOne.subtract ( operatorTwo )
GO
} else if ( operationType == MULT ) {
επιστρέψει operatorOne.multiply ( operatorTwo )
GO } else if ( operationType == DIV ) { br /> επιστρέψει operatorOne.divide ( operatorTwo )
GO } else επιστρέψει νέα BigDecimal ( 0 )
GO } αλιευμάτων ( ArithmeticException ε) {
System.err.println ( \\ " Αριθμητική Παρουσιάστηκε εξαίρεση . πιθανότατα πρόκειται για μια διαίρεση με το μηδέν . \\" )
GO επιστρέψει νέα BigDecimal ( 0 ) />
} }
5
Γράψτε μια κύρια μέθοδο . Αυτό είναι ένα απλό παράδειγμα του προγράμματος για την χρήση των νέων \\ " Υπολογιστής \\ " την τάξη σας , αν και στην πράξη μάλλον θα θέλετε να εισαγάγετε την τάξη σας ως μέρος ενός άλλου πιο σύνθετο πρόγραμμα . Για αυτήν την κύρια μέθοδο για να λειτουργήσει, όμως , θα πρέπει να προσθέσετε ένα ακόμη δήλωση εισαγωγής στην κορυφή της κατηγορίας σας :
java.util.Scanner εισαγωγής
GO
\\ " Scanner \\ " είναι μια κατηγορία ευκολία σχεδιαστεί ώστε να είναι ευκολότερη η ανάγνωση των δεδομένων από την κονσόλα . Προσθέστε την ακόλουθη κύρια μέθοδο για την τάξη σας :
δημόσια στατική άκυρη κύρια ( String [ ] args ) {
Υπολογιστής c = νέα Υπολογιστής ( )
? GO
System.out.println ( \\ "Εισάγετε ένα κορδόνι για να εκπροσωπήσει τον υπολογισμό που πραγματοποιείται Τοποθετήστε ένα κενό διάστημα ανάμεσα σε κάθε token για παράδειγμα : \\ \\ \\ . ". 2 + 2 \\ \\ \\ " και δεν \\ \\ \\ " 2 +2 \\ \\ \\ " \\ " )
GO Scanner σάρωσης = νέο σαρωτή ( System.in )
GO
String s = scan.nextLine ( )
GO
boolean noerror = c.parseString ( s )
GO αν ( noerror ) {
BigDecimal bd = c.performCalculation ( )
GO System.out.println ( bd.toPlainString ( ) )
GO
} }
Η
εικόνων
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα