Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.FileNotFoundException;
- import java.io.FileReader;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Arrays;
- import java.util.Stack;
- public class Implementation implements Calculator {
- String [] list = new String [1000] ;
- int size = 0 ;
- int index = -1 ;
- @Override
- public void Input(String s) {
- // TODO Auto-generated method stub
- index++;
- list[index] = s ;
- size++;
- }
- @Override
- public String current_formula() {
- // TODO Auto-generated method stub
- String up = END_LIST_UP ;
- String down = END_LIST_DOWN ;
- if (index < 0) return up;
- if (index >= size) return down;
- return list[index];
- }
- @Override
- public String getResults() {
- // TODO Auto-generated method stub
- int r = list[index].length();
- String not = BAD_FORMAT ;
- for(int i=1 ;i<r ;i++)
- {
- char b =list[index].charAt(i) ;
- char c =list[index].charAt(i-1) ;
- if(b== '-' || b=='+' || b=='*' || b=='/')
- {
- if(i==r-1) return not ;
- else if(c!= '-' && c!='+' && c!='*' && c!='/') continue ;
- else
- {
- if(b =='-' && (c=='*' || c=='/')) continue ;
- else return not ;
- }
- }
- }
- String no = DIVISION_BY_ZERO ;
- GetResults answer = new GetResults (list[index]) ;
- if (answer.flag == 1 ) return no ;
- String d = Double.toString(answer.l);
- return d;
- }
- @Override
- public void save() throws Exception {
- // TODO Auto-generated method stub
- PrintWriter is = new PrintWriter("Compute.out");
- for (int i=size-1 ; i>=size-5 ; i--)
- {
- if(i<0) break ;
- is.println(list[i]);
- }
- is.close();
- }
- @Override
- public void load() throws Exception {
- // TODO Auto-generated method stub
- Arrays.fill(list, null);
- BufferedReader sc = new BufferedReader(new FileReader("Compute.out"));
- String enter;
- int g = -1;
- int mass = 0;
- while ( (enter = sc.readLine()) != null)
- {
- g++;
- list[g] = enter ;
- mass++;
- }
- size= mass ;
- index = g;
- sc.close();
- }
- @Override
- public String prev() {
- // TODO Auto-generated method stub
- index-- ;
- String ret = current_formula() ;
- if(index < 0) index++ ;
- return ret ;
- }
- @Override
- public String next() {
- // TODO Auto-generated method stub
- index++ ;
- String ret = current_formula() ;
- if(index >= size ) index-- ;
- return ret ;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement