0

これが可能かどうかはわかりません。入力が次のようになる状況にいます。

[int, String, int]

文字列は "<"、">"、"="、"<="、">=" のいずれかです。

複数の if ステートメントを使用せずに、文字列比較パラメーターに関して 2 つの int を比較するのに役立つメソッドを実装する方法はありますか?

うまく説明できたと思います。

ありがとう。

4

1 に答える 1

3

Java ソース コードの演算子のように文字列を適用する方法はありません。各文字列値をテストし、適切なテストを行う必要があります。

public boolean eval(int arg1, String op, int arg2) {
    if (op.equals("<")) {
        return arg1 < arg2;
    } else if (op.equals("<=")) {
        return arg1 <= arg2;
    } else . . .
}

これについて非常に凝った方法があります (たとえば、 a を使用Map<String, Callable<Boolean>>) が、あなたが説明していることには価値がないようです。

別の方法として (CM Kanode と screppedcola がコメントで示唆しているように) を使用して式を JavaScript として評価することもできますがScriptEngine、これもやり過ぎのように思えます。

于 2012-11-05T19:27:28.970 に答える