Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Napisać program przetwarzający plik zawierający łańcuchy znaków reprezentujące wyrażenia zapisane w postaci postfiksowej (ab+) ze zmiennymi a i b oraz operatorami 2-argumentowymi: +, -, *, /. W pliku, za każdym łańcuchem, jest umieszczona liczba całkowita reprezentująca informację o poprawności wyrażenia (na początku równa -1). Program owinien uzupełnić w pliku informacje o poprawności wyrażeń, wpisując 0, gdy wyrażenie jest niepoprawne i 1, gdy wyrażenie jest poprawne. Przykładowe wyrażenie poprawne: a abba+-* ab*a+ba-/ i niepoprawne: abc+ (za mało operatorów).
- RandomAccessFile raf = new RandomAccessFile("sciezka","rw");
- char znak=' ' ;
- int i=0;
- int j = 0;
- while((znak=raf.readChar())!=-1){
- if(znak=='a'||znak=='b'){
- i++;
- }
- else if(znak =='+'||znak =='-'||znak =='/'||znak =='*'){
- j++;
- }
- }
- long gdzie =raf.getFilePointer();
- raf.seek(gdzie-1);
- if(i-j==1){
- raf.writeInt(0);
- }
- else{
- raf.writeInt(-1);
- }
- raf.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement