【发布时间】:2011-05-08 07:18:12
【问题描述】:
我正在尝试无条件地为+ - * / 编写计算器。运算符存储为字符串。
有没有办法实现?
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
////String Operator = "";
String L1="";
String L2="";
String op = "+";
double a = 3;
double b = 2;
//Operator p = p.
Operator p;
b = Operator.count(a, op, b);
System.out.println(b);
}
public enum Operator {
PLUS("+"), MINUS("-"), DIVIDE("/"), MULTIPLY("*");
private final String operator;
public static double count(double a,String op,double b) {
double RetVal =0;
switch (Operator.valueOf(op)) {
case PLUS:
RetVal= a + b;
case MINUS:
RetVal= a - b;
case DIVIDE:
RetVal= a / b;
case MULTIPLY:
RetVal= a * b;
}
return RetVal;
}
Operator(String operator) {
this.operator = operator;
}
// uniwersalna stała grawitacyjna (m3 kg-1 s-2)
}
}
收到此错误:
线程“main”中的异常 java.lang.IllegalArgumentException: No enum const class Main$Operator.+
有什么线索吗?
【问题讨论】:
-
有很多方法可以实现这一点。请提出具体问题,我们很乐意为您提供帮助。
-
我会使用内置的 Javascript 解释器。
-
在没有 if/else 和 case/switch 的情况下,Java 仍然是完整的,但是你为什么要这样限制自己呢?
标签: java calculator