MathX相关程序流图
一些重要方法的简化流图(只标注了分支结构条件;可能有未标注的分支结构,为循环语句)。
Check.isRepeated
3.if(!equation1.peek().equals(equation2.peek()))
4.if(((equation1.peek().equals("*") || equation1.peek().equals("×")) && (equation2.peek().equals("*") || equation2.peek().equals("×"))) || ((equation1.peek().equals("/") || equation1.peek().equals("÷")) && (equation2.peek().equals("/") || equation2.peek().equals("÷"))))
Check.transform
3.if(Information.isDigit(str))
5.if(numOfTarget < 2)
8.if(!flag || numOfTarget == 2)
10.if((str.equals("+")||str.equals("*")||str.equals("×"))&&max(first,second).equals(first))
14.if(numOfTarget == 1)
16.if(numOfTarget == 0 && numOfDigit > 0)
CompeteRPN.add/minus/multiply
2.if(Fraction.isFraction(a)||Fraction.isFraction(b))
CompeteRPN.answerFromStack
3.if(Information.isDigit(str))
Fraction.getFraction
1.if(denominator==0)
2.if(numerator==0)
3.if(numerator==denominator)
4.if(numerator+denominator==0)
6.if(Math.abs(numerator)>Math.abs(denominator))
15.if(denominator==1)
16.if(denominator==-1)
17.if(numerator*denominator<0)
Fraction.transform
2.if(Fraction.isFraction(a))
4.if(endIndex == -1)
Information.vaildAnswer
1.if(answer.equals("No Meaning!"))
2.if(answer.charAt(0) == '-')
3.if(Fraction.isFraction(answer))
RPN.toStringArray
3.if (Character.isDigit(c))
5.if (digit.length() != 0)
10.if(digit.length() != 0)
RPN.transformToRPN
3.if(Information.isDigit(i))
5.if(operator.empty()||i.equals("(") || operator.peek().equals("("))
7.if(i.equals(")"))
11.if(Information.priority(i)>Information.priority(operator.peek()))
14.if(Information.priority(i) <= Information.priority(operator.peek()))