Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tkp.fe.uni_lj.si;
- public class Kalkulator {
- private Stanje stanje = Stanje.ST1;
- private enum Stanje {
- ST1, ST2, OP
- }
- private float prvoStevilo, drugoStevilo;
- private String operator;
- private String vhodniSignal, izhodniSignal;
- private static final String NAPAKA = "napaka";
- private static final String RESET = "reset";
- private static final String BREZ_ODGOVORA = "";
- private static long TRAJANJE_CASOVNIKA_V_MS = 10000;
- private static long casZadnjegaSignalaVms = -1;
- public String obravnavaj(String vhod) {
- vhodniSignal = vhod;
- izvediPrehod();
- return izhodniSignal;
- }
- private void izvediPrehod() {
- // preverjanje casovnika?
- switch(stanje) {
- case ST1:
- prehodIzST1();
- break;
- case OP:
- prehodIzOP();
- break;
- case ST2:
- prehodIzST2();
- break;
- }
- }
- private boolean seJeCasovnikIztekel() {
- if((System.currentTimeMillis() - casZadnjegaSignalaVms) > TRAJANJE_CASOVNIKA_V_MS) {
- }
- }
- private void prehodIzST1() {
- if(Orodja.jeSignalStevilo(vhodniSignal)) {
- prvoStevilo = Float.parseFloat(vhodniSignal);
- stanje = Stanje.OP;
- izhodniSignal = BREZ_ODGOVORA;
- }else {
- izhodniSignal = NAPAKA;
- }
- }
- private void prehodIzOP() {
- if(Orodja.jeSignalOperator(vhodniSignal)) {
- operator = vhodniSignal;
- stanje = Stanje.ST2;
- izhodniSignal = BREZ_ODGOVORA;
- }else {
- izhodniSignal = NAPAKA;
- }
- }
- private void prehodIzST2() {
- if(Orodja.jeSignalStevilo(vhodniSignal)) {
- drugoStevilo = Float.parseFloat(vhodniSignal);
- stanje = Stanje.ST1;
- izhodniSignal = "Rezultat: " + prvoStevilo + operator + drugoStevilo + " = " + Orodja.izracunaj(prvoStevilo, drugoStevilo, operator);
- }else {
- izhodniSignal = NAPAKA;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement