Det finnes en rekke måter du kan gå om å lage en kalkulator program i Java. Denne artikkelen vil gi en kalkulator implementering som vil utføre operasjoner når det følger med en streng som inneholder to operatører og en operasjon (for eksempel " 2 + 2 ") , sammen med en enkel viktigste metoden for å gi en konsoll kalkulatoren . Imidlertid kan dette programmet enkelt importeres inn i en Swing - eller AWT - basert program eller et annet program som en aritmetisk utsagn må tolkes fra en streng. Du trenger
Java
Tekst editor eller Java Integrated Development Environment ( IDE )
Vis flere instruksjoner
en
Opprett en ny Java pakke kalt kalkulator . Hvis du velger å gjøre dette med en dedikert IDE, vil det trolig være et alternativ for dette i \\ "Fil \\ "-menyen . Ellers bare lage en mappe et sted på harddisken din som heter "Kalkulator ".
2
Opprett \\ " Calculator.java \\ " class og lage en klasse skjelett av det. Igjen , hvis du bruker en IDE , er det sannsynligvis et alternativ å gjøre dette automatisk , men hvis du velger å bruke en teksteditor , oppretter du en tom ren tekstfil med \\ " . Java \\ " for filtypen og skrive følgende inni den :
pakke kalkulator
GO
public class kalkulator {
}
3
Erklærer noen variabler . Du vil ønske to \\ " BigDecimals \\" (som må importeres fra \\ " java.math \\ " pakken ) for operander og et heltall for driften typen, samt noen konstanter for å representere mulige operasjoner . Redigere filen slik at den ser slik ut:
pakke kalkulator
GO
import java.math.BigDecimal
GO
;
public class Kalkulator {
BigDecimal operatorOne
GO
BigDecimal operatorTwo
GO
Integer operationType
GO
offentlige endelige statisk Integer ADD = 0
GO
offentlige endelige statisk heltall SUB = 1
GO
offentlig finalen statisk Integer DIV = 2
GO
offentlige endelige statisk Integer MULT = 3
GO
}
4
Erklærer metoder. Denne klassen vil bruke tre metoder. Selv om det kan sannsynligvis klare seg med bare én , å ha mange korte, enkle å forstå metoder er bedre at det å ha færre og mer kompliserte metoder . Metodene vil bli kalt " boolean parseString (String s ) ", " private Integer determineOperationType (String s )" og " BigDecimal performCalculation ( )" .
\\ " ParseString \\" ; metoden vil motta en streng som representerer en aritmetisk operasjon - for eksempel The \\ " determineOperationType \\ "-metoden vil bli brukt av \\ " parseString \\" å tolke driften delen av utsagnet " 2 + 2 . ». Metoden \\ " performCalculation \\ " gjør regnestykket og returnerer svaret.
Sett inn følgende kode i klassen din :
boolean parseString (String s ) {
String [] operatørene = s.split ( \\ " [ ] \\ " )
GO
try {
operatorOne = new BigDecimal ( operatører [ 0 ] )
GO < ; br /> operatorTwo = new BigDecimal ( operatører [ 2 ] )
GO
operationType = determineOperationType ( operatører [ 1 ] )
GO
return true < ; br /> GO
} catch ( NumberFormatException e ) {
System.err.println ( \\ " FEIL: . Ugyldig operatør \\ " )
GO < br /> return false
GO
} catch ( ArrayIndexOutOfBoundsException e ) {
System.err.println ( \\ " FEIL: Ugyldig antall argumenter : \\ " + operators.length )
GO
return false
GO
}
}
privat heltall determineOperationType (String s ) kaster NumberFormatException {
hvis ( 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
annet kaste nytt NumberFormatException ( )
GO
} < ; br />
BigDecimal performCalculation ( ) {
try {
if ( operationType == ADD) {
returnere operatorOne.add ( operatorTwo )
GO
} else if ( operationType == SUB ) {
retur operatorOne.subtract ( operatorTwo )
GO < br /> } else if ( operationType == MULT ) {
retur operatorOne.multiply ( operatorTwo )
GO
} else if ( operationType == DIV ) { < ; br /> retur operatorOne.divide ( operatorTwo )
GO
} else return new BigDecimal ( 0 )
GO
} catch ( ArithmeticException e ) {
System.err.println ( \\ " Aritmetisk Exception oppstått. Mest sannsynlig er dette en divisjon med null. \\" )
GO
retur new BigDecimal ( 0 )
GO
}
}
5
Skriv en viktigste metoden . Dette er et enkelt eksempel program å bruke din nye \\ "Kalkulator \\ " class , men i praksis vil du sannsynligvis ønske å importere din klasse som en del av en annen mer komplekst program . For at denne viktigste metoden skal fungere , men vil du trenger å legge en mer import uttalelse til toppen av klassen :
import java.util.scanner
GO
\\ " Scanner \\" er en praktisk klasse designet for å gjøre det lettere å lese data fra konsollen. Legg til følgende viktigste metoden til klassen :
public static void main ( String [] args ) {
Kalkulator c = new Kalkulator ( )
; GO
System.out.println ( \\ " . . Legg inn en streng for å representere beregningen som utføres Plasser et mellomrom mellom hvert token for eksempel : \\ \\ \\" 2 + 2 \\ \\ \\ "og ikke \\ \\ \\ " 2 +2 \\ \\ \\ " \\ " )
GO
Scanner scan = new Scanner ( System.in )
GO
String s = scan.nextLine ( )
GO
boolean noerror = c.parseString ( s )
GO
hvis ( noerror ) {
BigDecimal bd = c.performCalculation ( )
GO
System.out.println ( bd.toPlainString ( ) )
GO < br /> }
}