-1

私は長い間、次の問題に悩まされています -

3 つの Int 配列から String 配列 StrTime を作成したいと考えています。

入力配列

int Time1[]={"1.1","2.1","4.1"};
int Time2[]={"2.5","4.7","5.1"};
int Time3[]={"12.55","1.11","2.1"};

CurrentTime = 2.0;

したがって、各整数配列をループして、Time1 を確認します。2.0 より大きい最初の配列項目を文字列配列に入れる必要があります。同じものについて Time2 と Time3 を確認します。

最後に、出力文字列配列を次のように取得する必要があります-

出力配列

String strTime[] ={"2.1","None","2.1"}

誰かが私を助けることができますか????

アップデート:

また、以下のようなダブル [] を作成する方法はありますか-\ {1,2,,3,4,,5}

4

3 に答える 3

1

コンパイルするorg.apache.commons.collections.CollectionUtilsと、 andorg.apache.commons.collection.Predicateを使用してループなしでフィルタリングできます。

CollectionUtils.find( getACollectionOfYourArray() , new Predicate() {
            public boolean evaluate(Object val) {
                // if is gt 2
                return true;
            }

        });
于 2012-08-11T13:40:28.310 に答える
0

タイプミスかもしれませんが、それが配列を初期化する方法です (それらは である必要がありますdouble):

double time1[]={1.1, 2.1, 4.1};
double time2[]={2.5, 4.7, 5.1};
double time3[]={12.55, 1.11, 2.1};

ヒント:

  • 結果の新しいString配列を作成します
  • for-最初の配列をループする
  • 現在の値をしきい値と比較し、現在ifの値が大きい場合は、文字列配列の最初のスロットに格納し (文字列に変換する必要があります)、breakループから外します。
  • 残りの 2 つのアレイについて、最後の手順から手順を繰り返します。
于 2012-08-11T13:15:26.270 に答える
0

使用する:

    double time1[]={1.1, 2.1, 4.1};
    double time2[]={2.5, 4.7, 5.1};
    double time3[]={12.55, 1.11, 2.1};
于 2012-08-11T13:16:54.863 に答える