aboutsummaryrefslogtreecommitdiff
path: root/Calculator.java
diff options
context:
space:
mode:
Diffstat (limited to 'Calculator.java')
-rw-r--r--Calculator.java28
1 files changed, 22 insertions, 6 deletions
diff --git a/Calculator.java b/Calculator.java
index 7070c87..c43ca9f 100644
--- a/Calculator.java
+++ b/Calculator.java
@@ -1,14 +1,30 @@
+import java.util.Scanner;
+
public class Calculator {
public static void main(String[] args) {
- GFrame frame = new GFrame("Calculator");
- String expr = "(84 / 4 * 3 - 9) * 2 + 1 / 5"; // 108.2
+ // String expr = "(84 / 4 * 3 - 9) * 2 + 1 / 5"; // 108.2
+ String expr = new String(" ");
+ Scanner sc = new Scanner(System.in);
Parser p;
+
if (args.length == 0) {
- p = new Parser(expr);
+ new GFrame("Calculator");
} else {
- p = new Parser(args[0]);
+ if (args[0].equals("-n")) {
+ System.out.println("Type \"exit\" or Ctrl+C to exit.");
+ while (true) {
+ System.out.print(">>> ");
+ expr = sc.nextLine();
+ if (!expr.equals("exit")) {
+ p = new Parser(expr);
+ System.out.println(p.eval());
+ } else {
+ sc.close();
+ break;
+ }
+ }
+ } else {
+ }
}
- System.out.println("postfix => \t " + p.getPostfix());
- System.out.println(p.eval());
}
}