2013-03-22 41 views
0

我有三個變量int value1,value2和一個String運算符。我想檢查if條件。假設value1 = 4,value2 = 3,並且在operator ='>'中。那麼我如何檢查如果條件爲例 -錯誤if條件

int value1=4; 
int value2=3; 

String operator=">"; 
if (value1+operator+value2) 
{ 
System.out.println("hello"); 
} 
i know the this is wrong but how to correct it.. 

回答

0

你可以簡單地給這個。

if (value1 > value2) 

順便說一句,你爲什麼想給在Stringoperator,然後,用這個來代替String操作這樣?這有什麼特別的要求嗎?在這種情況下,@ Makoto的答案是一個很好的選擇。

1

您將無法直接使用字符串。你必須檢查看看是什麼類型的操作符,然後執行明確的數學運算。

public boolean applyOperator(String op, int a, int b) { 
    if (">".equals(op)) { 
     return a > b; 
    } // the others are an exercise to the reader. 
} 

// later in the code 

if(applyOperator(operator, value1, value2)) { 
    System.out.println("Hello world!"); 
} 
+0

好吧..我會嘗試它... – Arpit 2013-03-22 04:54:28

1

最簡單的方法可能是爲您希望使用的每個可用操作符做一個if語句。

int value1=4; 
int value2=3; 

String operator=">"; 
if(operator.equals(">")) 
{ 
    if(value1 > value2) 
    { 
     System.out.println("hello"); 
    } 
} 
else if(operator.equals("<")) 
{ 
    // And so on... 
} 
+0

太棒了!您是否可以通過單擊左側的綠色檢查將此答案標記爲解決方案? – 2013-03-22 12:12:31

0

值1 +運營商+值2將是一個字符串,它需要在if 所以不是if (value1+operator+value2)if (value1 > value2)

0

在java中比較兩個整數這樣纔不會布爾:

if (value1 > value2) { 
    System.out.println("Hello"); 
} 

你不應該把操作符放到一個字符串中。 在java中,'+'用於添加數字和字符串的連接,而不是構建表達式。