Kako razviti jednostavan kalkulator s Javom

Kako razviti jednostavan kalkulator s Javom
Postoji nekoliko načina na koje možete krenuti u izradu programa za izračunavanje u Javi. Ovaj članak nudi implementaciju kalkulatora koji će izvoditi operacije ako ima niz koji sadrži dva operatora i operaciju (na primjer, “2 + 2”), s jednostavnom glavnom metodom za pružanje aplikacije kalkulatora s konzole. Međutim, ovaj se program može lako uvesti u Swing ili AWT temeljenu aplikaciju ili bilo koju drugu aplikaciju u kojoj se aritmetička deklaracija mora tumačiti kao niz. Stvari koje dugujete
Java
uređivač teksta ili Java integrirano razvojno okruženje (IDE)
Pokaži više uputa
1

izradite novi java paket koji se zove kalkulator. Ako to odlučite učiniti s namjenskim IDE -om, vjerojatno će postojati opcija za to u izborniku ”\\ datoteka” \\. U suprotnom, jednostavno stvorite mapu negdje na tvrdom disku pod nazivom “Kalkulator”.
2

stvorite klasu “Calculator.java \\” \\ i stvorite njen kostur klase. Opet, ako koristite IDE, vjerojatno postoji mogućnost da to učinite automatski, ali ako odlučite koristiti uređivač teksta, jednostavno stvorite praznu tekstualnu datoteku s \\ ”. Java \\ ”za nastavak datoteke i unutra upišite sljedeće:

GO paket kalkulatora
kalkulator javne klase {}

3

deklarirati neke varijable. Trebat ćete dva \\ ”BigDecimals \\” (koja se moraju uvesti iz „java.math \\” paketa \\) za vaše operande i cijeli broj za vrstu operacije, kao i konstante koje ih predstavljaju. operacije. Uredite datoteku tako da izgleda ovako:
/>

Kalkulator GO plana
java.math.BigDecimal import

Kalkulator javne klase {
BigDecimal operatorOne

GO BigDecimal operatorDva

GO Integer OperationType
GO

Cijeli statički konačni javni Dodaj = 0

GO SUB cijeli broj statički konačni public = 1

GO public final DIV Statički cijeli broj = 2

GO final MULT Integer public static = 3

IĆI}
4

deklarirati metode. Ova klasa će koristiti tri metode. Iako se vjerojatno može snaći samo s jednom, imati mnogo kratkih i lako razumljivih metoda bolje je nego imati manje, složenijih metoda. Metode će se zvati “boolean parseString (String s)”, “defineOperationType Private integer (String s)” i “performCalculation BigDecimal ()”.

\\ ”parseString \\”; metoda će primiti niz koji predstavlja aritmetičku operaciju – npr. \\ ”determinOperationType \\” metodu će koristiti \\ ”parseString \\” za tumačenje radnog dijela izraza “2 + 2. “. Metoda \\ ”performCalculation \\” vrši izračun i vraća odgovor.

U razred unesite sljedeći kôd:

boolean parseString (nizovi) {
String [] = SHARED operatori (\\ ”[] \\”)

IDI probati {
operatorOne = novi BigDecimal (operatori [0])
GO <, br /> operatorTwo = novi BigDecimal (operatori [2])

GO OperationType = determinOperationType (operatori [1])

IDI vrati true <, br /> SEE
} catch (NumberFormatException e) {
System.err.println (\\ “POGREŠKA :. Važeći operator \\”)
GO return false

GO} catch (ArrayIndexOutOfBoundsException e) {
System.err.println (\\ “POGREŠKA: netočan broj argumenata: \\” + operatori.length)

GO return false

IĆI}}

private defineOperationType cijeli broj (String s) baca NumberFormatException {
if (s.equals (\\ “+ \\”)) vrati Dodaj

IDITE ako se (s.equals (\\ “- \\”)) vrati
POD IDI
inače if (s.equals (\\ “/ \\”)) vraća DIV

IĆI; else if (s.equals (\\ ”* \\”)) MULT vraća

IDI još jednom baci novu NumberFormatException ()

IDI} <, br />

BigDecimal performCalculation () {try {

if (OperationType == ADD) {
return operatorOne.add (operatorTwo)

GO} else if (OperationType == SUB) {
return operatorOne.subtract (operatorTwo)
GO} else if (OperationType == MULT) {
return operatorOne.multiply (operatorTwo)

GO} else if (OperationType == DIV) {<, br /> return operatorOne.divide (operatorTwo)

GO} else vrati novi BigDecimal (0)

GO} catch (ArithmeticException e) {
System.err.println (\\ “došlo je do aritmetičke iznimke. Najvjerojatnije se radi o podjeli s nulom. \\”)

GO vrati novi BigDecimal (0)

IĆI}}

5

Napišite glavnu metodu. Ovo je primjer jednostavnog programa koji koristi vašu novu “Kalkulator \\” \\ klasu, iako ćete u praksi vjerojatno htjeti uvesti svoju klasu kao dio drugog složenijeg programa. Međutim, kako bi ova glavna metoda funkcionirala, morat ćete dodati izjavu o uvozu na vrh svoje klase:

uvoz java.util.Scanner GO

\\ ”skener \\” je klasa pogodnosti osmišljena kako bi olakšala čitanje podataka konzole. Dodajte sljedećoj glavnoj metodi u svoj razred:

public static void main (String [] args) {
Kalkulator c = novi kalkulator ()
, IDI
System.out.println (\\ ”. Unesite niz koji predstavlja izračun koji se izvodi Postavite razmak između svakog tokena Na primjer: \\ \\ \\” 2 + 2 \\ \\ \\ ”, a ne \\ \ \ \\ ”2 +2 \\ \\ \\” \\ ”)

GO Scanner Scanner = novi skener (System.in)
NIZ GO s = scan.nextLine ()
GO

boolean noError = c.parseString (s)

ako GO (noError) {
BigDecimal bd = c.performCalculation ()

GO System.out.println (bd.toPlainString ())
IĆI}}