2015-10-31 88 views
1

虽然我已经编程了一段时间,但对于java来说还是比较新的。我想为我的女儿做一个有趣的数学项目,以帮助她学习数学将是一个简单的方法来测试Java的能力。因此,为了努力学习和学习编程的有效方法,是否有方法将字符串或字符值从(/,, - ,+)转换为运算符/ +有没有办法将java中的字符串或字符字段转换为数学运算符?

例如:

string/char textin = "" 
text = JOptionPane "input box" ("*") 
int results = 0 
int num1 = 9 
int num2 = 5 

public static void calc(int num1,int num2, string/char textin) 
{ 
    results = num1 "some method"(textin) num2   // convert "*" to * 
} 

这一问题的目的是减少由于对所有四个操作所需的计算量。使用一种通用方法来完成所有四个操作符。这可能吗?

+4

在网上搜索是你的朋友:http://stackoverflow.com/questions/3422673/evaluating-a-math-expression-given-in-string-form –

回答

6

不,这是不可能的。您可以最接近的是定义一个帮助器方法,将字符串解释为运算符并应用它。

public static double operate(double x, double y, String operator) { 
    switch(operator) { 
     case "*": 
      return x*y; 
     case "/": 
      return x/y; 
     // etc. 
     default: 
      throw IllegalArgumentException("Unknown operator"); 
    } 
} 
+0

我想这样,但它不会伤害问。 – Kyle5385

+0

谢谢你的帮助。 – Kyle5385

+0

没问题@Kyle5385,如果这回答你的问题,不要忘记接受它作为正确的答案。 – wvdz

相关问题