class Zasobnik { private class Polozka { char znak; Polozka dalsi; public Polozka(char znak, Polozka dalsi) { this.znak = znak; this.dalsi = dalsi; } } private Polozka vrchol; public Zasobnik() { this.vrchol = null; } public void Push(char zavorka) { this.vrchol = new Polozka(zavorka, this.vrchol); } public char Pop() { char zavorka = this.vrchol.znak; this.vrchol = this.vrchol.dalsi; return zavorka; } public boolean isEmpty() { return (this.vrchol == null); } public String PrintContent() { String zavorky = new String(); if (this.vrchol == null) { return ""; } else { Polozka x = this.vrchol; zavorky = x.znak + zavorky; while(x.dalsi != null) { x = x.dalsi; zavorky = x.znak + zavorky; } return zavorky; } } } public class Pr01 { public static void Tiskni(String line) { System.out.println(line); } public static void Tiskni(String line, boolean newline) { if (newline) { System.out.println(line); } else { System.out.print(line); } } public static char OpacnaZavorka(char zavorka) { switch(zavorka) { case '(': return ')'; case '[': return ']'; case '{': return '}'; } return zavorka; } public static void main(String[] args) { char znak, popznak; boolean isErr = false; Zasobnik stack = new Zasobnik(); String radek = VstupData.ctiString(); for(int i=0;i