Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvoriť nový balíček s názvom Java kalkulačka . Ak sa rozhodnete urobiť to s vyhradeným IDE , pravdepodobne bude možnosť to v menu \\ " Súbor \\ " . V opačnom prípade stačí vytvoriť priečinok niekde na pevnom disku s názvom " Kalkulačka " .
2
Vytvorte \\ " Calculator.java \\ " triedu a vytvoriť triedne kostru nej . Opäť platí , že ak budete používať IDE , je pravdepodobne možnosť , ako to urobiť automaticky , ale ak sa rozhodnete použiť textový editor , stačí vytvoriť prázdny textový súbor s \\ " . Java \\ " pre príponu súboru a písať nasledujúce vnútri :
balíček kalkulačky
GO
public class Kalkulačka {
}
3
deklarovať niektoré premenné . Budete chcieť dve \\ " BigDecimals \\ " ( ktoré musia byť importované z " java.math \\ " balíka \\ ) pre operandy a Integer na typ prevádzky , rovnako ako niektoré konštanty predstavujúce možné operácie . Upravte súbor , takže to vyzerá takto :
balíček kalkulačka
GO
import java.math.BigDecimal
GO
;
public class Kalkulačka {
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 static Integer DIV = 2
GO
public final static Integer MULT = 3
GO
}
4
deklarovať metódy . Táto trieda sa používajú tri metódy . Hoci to môže pravdepodobne dostať sa iba raz , má mnoho krátkych , ľahko pochopiteľné metódy , je lepšie , že majú menej , zložitejšie metódy . Metódy sa nazývajú " boolean parseString ( String s ) " , "private Integer determineOperationType ( String s ) " a " BigDecimal performCalculation ( ) " .
\\ " ParseString \\ " , - " . 2 + 2 " metóda dostane reťazec , ktorý predstavuje aritmetické operácie napríklad \\ " determineOperationType \\ " metóda sa používa \\ " parseString \\ " interpretovať prevádzkovú časť vyhlásenia . Metóda \\ " performCalculation \\ " robí matematiku a vráti odpoveď .
Vložte nasledujúci kód do vašej triedy :
boolean parseString ( String s ) {
String [ ] operátori = s.split ( \\ " [ ] \\ " )
GO
try {
operatorOne = new BigDecimal ( operátori [ 0 ] )
GO < , br /> operatorTwo = new BigDecimal ( operátori [ 2 ] )
GO
operationType = determineOperationType ( operátori [ 1 ] )
GO
return true < , br /> GO
} catch ( NumberFormatException e ) {
System.err.println ( \\ " . Chyba : Neplatný operátor \\ " )
GO < br /> return false
GO
} catch ( ArrayIndexOutOfBoundsException e ) {
System.err.println ( \\ " Chyba: Neplatný počet argumentov : \\ " + operators.length )
GO
vráti false
GO
}
}
súkromia 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 ( \\ " * \\ " ) ) vráti MULT
GO
ešte hodiť nový NumberFormatException ( )
GO
} < , br />
BigDecimal performCalculation ( ) { try {
if ( operationType == ADD ) {
návrat operatorOne.add ( operatorTwo )
GO
} else if ( operationType == SUB ) {
vrátiť operatorOne.subtract ( operatorTwo )
GO < br /> } else if ( operationType == MULT ) {
vrátiť operatorOne.multiply ( operatorTwo )
GO
} else if ( operationType == DIV ) { < , br /> vrátiť operatorOne.divide ( operatorTwo )
GO
} else return new BigDecimal ( 0 )
GO
} catch ( ArithmeticException e ) {
System.err.println ( \\ " Aritmetický výnimke . S najväčšou pravdepodobnosťou sa jedná o delenie nulou . \\ " )
GO
vrátiť nové BigDecimal ( 0 )
GO
}
}
5
Napíšte metódu main . Toto je jednoduchý príklad programu používať novú \\ " Kalkulačka \\ " triedu , ale v praxi pravdepodobne budete chcieť importovať triedu ako súčasť iného komplexnejšieho programu . K tomu , aby tohto hlavného spôsobu práce , ale budete musieť pridať ešte jeden príkaz import na vrchole svojej triedy :
import java.util.Scanner
GO
\\ " Scanner \\ " je trieda pohodlie navrhnutá tak , aby bolo ľahšie čítať dáta z konzoly . Pridajte nasledujúce hlavnú metódu svojej triede :
public static void main ( String [ ] args ) {
Kalkulačka c = new Calculator ( )
; GO
System.out.println ( \\ " Zadajte reťazec na zastupovanie výpočet sa vykonáva Umiestnite medzeru medzi každé znamenie Napríklad : \\ \\ \\ . " . 2 + 2 \\ \\ \\ " a nie \\ \\ \\ " 2 +2 \\ \\ \\ " \\ " )
GO
skenera skenovanie = new Scanner ( System.in )
GO < br /> String s = scan.nextLine ( )
GO
boolean noerror = c.parseString ( y )
GO
ak ( NOERROR ) {
BigDecimal bd = c.performCalculation ( )
GO
System.out.println ( bd.toPlainString ( ) )
GO < br /> }
}