条件错误

时间:2013-03-22 04:34:24

标签: java

我有三个变量int value1,value2和一个String运算符。我想检查if条件。假设value1 = 4,value2 = 3且在operator ='>'中。那么我如何检查示例的条件 -

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..

5 个答案:

答案 0 :(得分:1)

您将无法直接使用String。您必须检查它是什么类型的运算符,然后执行显式数学运算。

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!");
}

答案 1 :(得分: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...
}

答案 2 :(得分:0)

你可以简单地给它。

if (value1 > value2)

顺便说一句,您为什么要在operator中提供String,然后使用String代替运营商?对此有什么特殊要求吗?在这种情况下, @ Makoto的回答对你来说是一个不错的选择。

答案 3 :(得分:0)

value1 + operator + value2将只是一个字符串,而不是if中需要的布尔值 所以而不是if (value1+operator+value2)if (value1 > value2)

答案 4 :(得分:0)

比较java中的两个整数:

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

您不应该将运算符放入字符串中。 在java中,'+'用于添加数字和串联,而不是用于构建表达式。