Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.77 KB | None | 0 0
  1. package tkp.fe.uni_lj.si;
  2.  
  3. public class Kalkulator {
  4.  
  5. private Stanje stanje = Stanje.ST1;
  6.  
  7. private enum Stanje {
  8. ST1, ST2, OP
  9. }
  10.  
  11.  
  12. private float prvoStevilo, drugoStevilo;
  13. private String operator;
  14. private String vhodniSignal, izhodniSignal;
  15.  
  16. private static final String NAPAKA = "napaka";
  17. private static final String RESET = "reset";
  18. private static final String BREZ_ODGOVORA = "";
  19.  
  20. private static long TRAJANJE_CASOVNIKA_V_MS = 10000;
  21. private static long casZadnjegaSignalaVms = -1;
  22.  
  23. public String obravnavaj(String vhod) {
  24.  
  25. vhodniSignal = vhod;
  26. izvediPrehod();
  27. return izhodniSignal;
  28. }
  29.  
  30. private void izvediPrehod() {
  31. // preverjanje casovnika?
  32. switch(stanje) {
  33. case ST1:
  34. prehodIzST1();
  35. break;
  36. case OP:
  37. prehodIzOP();
  38. break;
  39. case ST2:
  40. prehodIzST2();
  41. break;
  42. }
  43. }
  44.  
  45. private boolean seJeCasovnikIztekel() {
  46. if((System.currentTimeMillis() - casZadnjegaSignalaVms) > TRAJANJE_CASOVNIKA_V_MS) {
  47.  
  48. }
  49. }
  50.  
  51. private void prehodIzST1() {
  52. if(Orodja.jeSignalStevilo(vhodniSignal)) {
  53. prvoStevilo = Float.parseFloat(vhodniSignal);
  54. stanje = Stanje.OP;
  55. izhodniSignal = BREZ_ODGOVORA;
  56. }else {
  57. izhodniSignal = NAPAKA;
  58. }
  59. }
  60.  
  61. private void prehodIzOP() {
  62. if(Orodja.jeSignalOperator(vhodniSignal)) {
  63. operator = vhodniSignal;
  64. stanje = Stanje.ST2;
  65. izhodniSignal = BREZ_ODGOVORA;
  66. }else {
  67. izhodniSignal = NAPAKA;
  68. }
  69. }
  70.  
  71. private void prehodIzST2() {
  72. if(Orodja.jeSignalStevilo(vhodniSignal)) {
  73. drugoStevilo = Float.parseFloat(vhodniSignal);
  74. stanje = Stanje.ST1;
  75. izhodniSignal = "Rezultat: " + prvoStevilo + operator + drugoStevilo + " = " + Orodja.izracunaj(prvoStevilo, drugoStevilo, operator);
  76. }else {
  77. izhodniSignal = NAPAKA;
  78. }
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement