2013-03-22 40 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中,'+'用于添加数字和字符串的连接,而不是构建表达式。