private double exponentiate(double result) { advance(); boolean expNeg = false; if (s.charAt(0) == '-') { expNeg = true; advance(); } double e = paren(); if (result < 0) result = exponentiateNegativeNumber(result, expNeg, e); else if (expNeg) result = Math.exp(-e * Math.log(result)); else result = Math.exp(e * Math.log(result)); return result; }
private double exponentiate(double result) { advance(); boolean expNeg = false; if (s.charAt(0) == '-') { expNeg = true; advance(); } double e = paren(); if (result < 0) result = exponentiateNegativeNumber(result, expNeg, e); else if (expNeg) result = Math.exp(-e * Math.log(result)); else result = Math.exp(e * Math.log(result)); return result; }
while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance(); advance(); while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance(); advance(); temp.append(s.charAt(0)); advance(); while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance();
while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance(); advance(); while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance(); advance(); temp.append(s.charAt(0)); advance(); while (!s.isEmpty() && Character.isDigit(s.charAt(0))) { temp.append(Integer.parseInt("" + s.charAt(0))); advance();
private double exp() { boolean neg = false; if (s.charAt(0) == '-') { neg = true; advance(); } double result = paren(); while (!s.isEmpty()) { if (s.charAt(0) == '^') { result = exponentiate(result); } else break; } if (neg) result *= -1; return result; }
private double exp() { boolean neg = false; if (s.charAt(0) == '-') { neg = true; advance(); } double result = paren(); while (!s.isEmpty()) { if (s.charAt(0) == '^') { result = exponentiate(result); } else break; } if (neg) result *= -1; return result; }