2015-10-31 170 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

相關問題