0

ページビューアとフラグメントを使用したアクティビティの一部として、このコードがあります。

    @Override
    public int getCount() {
        if (GlobalVars.operator.equals("vodafone")) {
            return 5;
        }
        if (GlobalVars.operator.equals("kpn")) {
            return 4;
        }
        return 0;
    }

条件の1つが完了すると、リターン5の行に移動します。または4を返します。次に、0を返します。if-then部分からの戻り値をメソッドに残さないのはなぜですか?

4

1 に答える 1

4

Javaでは、メソッドは単一の戻り値しか持つことができません。これは、またはとの両方をgetCount返すことができないことを意味し4ます。50

デバッグ方法として、関数の戻り値をなんらかの方法で表示してみてください(例System.out.println(getCount());)。表示された値が0、の場合、どちらの基準も満たされておらず、メソッドは「elsewhere」値を返しました。

このコンテキストのデータに対して正しい比較を実行していないと思います。一部のコメント提供者が言及しているように、文字列データを受信して​​いる場合は、大文字と小文字を区別せずに比較することをお勧めします。さらに、入力ストリームからデータを受信して​​いる場合は、先頭または末尾に空白がないことを確認する必要があります。

于 2013-01-26T23:22:31.647 に答える