...
Tastetrykk | Logikk | String valueText | double memory | String operator | valueTextField.text |
---|---|---|---|---|---|
(før noen knapper er trykket) | memory vises i tekstfeltet | null | 0.0 | null | "0.0" |
1 | Bygger opp ny valueText, som vises i tekstfeltet | "1" | 0.0 | null | "1" |
1, 2 | Legger nytt siffer bakerst i valueText | "12" | 0.0 | null | "12" |
1, 2, + | Gjør om valueText til et tall og legger det i memory. | null | 12.0 | "+" | "12.0" |
1, 2, +, 3 | Bygger opp ny valueText | "3" | 12.0 | "+" | "3" |
1, 2, +, 3, 4 | Legger nytt siffer bakerst i valueText | "34" | 12.0 | "+" | "34" |
1, 2, +, 3, 4, = | Gjør om valueText til et tall og utfører operator-operasjonen på memory og det nye tallet. Resultatet legges i memory, og så blankes operator og valueText | null | 46.0 | null | "46.0" |
Tilfellet over var et nokså vanlig og enkelt tilfelle. La oss prøve et litt mer komplisert et. Vi hopper over første rad, siden den er som over, og så bytter vi ut Logikk-teksten med noe som ligner på metode-kall.
Tastetrykk | Logikk | String valueText | double memory | String operator | valueTextField.text |
---|---|---|---|---|---|
1 | append2ValueText("1") | "1" | 0.0 | null | "1" |
1, . | append2ValueText(".") | "1." | 0.0 | null | "1." |
1, ., + | convertAndStoreValueText(), clearValueText(), storeOperator("+") | null | 1.0 | "+" | "1.0" |
1, ., +, 3 | append2ValueText("3") | "3" | 1.0 | "+" | "3" |
1, ., +, 3, - | convertValueTextComputeAndStoreValue(), clearValueText(), storeOperator("-") | null | 4.0 | "-" | "4.0" |
1, ., +, 3, -, 2 | append2ValueText("4") | "2" | 4.0 | "-" | "2" |
1, ., +, 3, -, 2, = | convertValueTextComputeAndStoreValue(), clearValueText(), storeOperator(null) | null | 2.0 | null | "2.0" |
Hva har du lært?
- å koble FXML-koden til Java-koden med fx:id- og onAction-attributter
...