Advertisement
Guest User

Untitled

a guest
Jan 29th, 2015
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.95 KB | None | 0 0
  1. 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).
  2. RandomAccessFile raf = new RandomAccessFile("sciezka","rw");
  3. char znak=' ' ;
  4. int i=0;
  5. int j = 0;
  6. while((znak=raf.readChar())!=-1){
  7. if(znak=='a'||znak=='b'){
  8. i++;
  9. }
  10. else if(znak =='+'||znak =='-'||znak =='/'||znak =='*'){
  11. j++;
  12. }
  13. }
  14. long gdzie =raf.getFilePointer();
  15. raf.seek(gdzie-1);
  16. if(i-j==1){
  17. raf.writeInt(0);
  18. }
  19. else{
  20. raf.writeInt(-1);
  21. }
  22. raf.close();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement