0

私は3つの変数intvalue1、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..
4

5 に答える 5

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!");
}
于 2013-03-22T04:37:49.587 に答える
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...
}
于 2013-03-22T04:38:35.357 に答える
0

次のようにJavaで2つの整数を比較します。

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

演算子を文字列に入れてはいけません。Javaでは、「+」は、式を作成するためではなく、数値の追加と文字列の連結に使用されます。

于 2013-03-22T04:44:46.073 に答える
0

あなたは単にこれを与えることができます。

if (value1 > value2)

ところで、なぜあなたはでを与えてoperator、それから、そのような演算子の代わりにStringそれを使いたいのですか?Stringそのための特別な要件はありますか?その場合、@Makotoの答えはあなたにとって良い賭けです。

于 2013-03-22T04:36:27.963 に答える
0

value1+operator+value2 はブール値ではなく文字列になるif ため、代わりにif (value1+operator+value2)配置する必要がありますif (value1 > value2)

于 2013-03-22T04:40:47.357 に答える