gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
Primeri za postfiksni kalkulator
[spa1-materijali.git] / kodovi / stek-i-red-opsluzivanja / PostFix.java
1 /**
2 * Postfixni kalkulator prima prvo operande, a onda operacije, npr 3 2 + umesto
3 * 3+2.
4 *
5 * Zadatak je napraviti mali postfiksni kalkulator koji obrađuje uneti String,
6 * pri čemu se predpostavlja da mogu da postoje operacije +,-,*,/ i %, te da su
7 * u pitanju jednocifreni celi brojevi.
8 *
9 */
10 public class PostFix {
11 public static void main(String[] args) {
12 int op1, op2;
13 char c;
15 System.out.print("Unesite string: ");
16 String str = Svetovid.in.readLine();
18 Stek<Integer> s = new Stek<Integer>(100);
20 for (int i = 0; i < str.length(); i++) {
21 c = str.charAt(i);
22 if (c == '+' || c == '-' || c == '*' || c == '/' || c == '%') {
23 op2 = s.vrh();
24 s.skiniVrh();
25 op1 = s.vrh();
26 s.skiniVrh();
27 switch (c) {
28 case '+':
29 s.stavi(op1 + op2);
30 break;
31 case '-':
32 s.stavi(op1 - op2);
33 break;
34 case '*':
35 s.stavi(op1 * op2);
36 break;
37 case '/':
38 s.stavi(op1 / op2);
39 break;
40 case '%':
41 s.stavi(op1 % op2);
42 break;
43 }
44 } else
45 s.stavi(Character.getNumericValue(c));
46 }
47 op1 = s.vrh();
48 System.out.print("=");
49 System.out.print(op1);
50 }
51 }
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner