0
int Cnt = 4;

for(int i=0; i<Cnt; i++)  {
}

このループ内では、 の値に基づいてさまざまな決定を下したいと考えていますi

それで、これを実装する最良の方法は何ですか??

次の方法を使用する必要がありますか??

for(int i=0; i<Cnt; i++) {
    if (i==0) {
        // some code 
    }
    else if(i==1) {
    // some code 
    }
}

それとも、この方法で見栄えがよくなりますか??

for (int i=0; i<Cnt; i++) {
    String str = Bag[0].value ;
    String str22 = Bag[1].value     
}

質問したいのは、配列の最大長をどのように知ることができるかということです。

これを行うための最もエラーが発生しにくい方法は何ですか?

4

4 に答える 4

3

わかりました、ある種のスイッチ関数の使用も推奨し、次のようにコードを構成します

public void fooOperation(int[] numbers) {
    for(int i=0; i < numbers.length; i++) { 
        handleValue(i);
    }
}

public void handleValue(int value)  {
    switch(i) {
        case 1:
            // some code
            break;
        case 2:
            // some code
           break;
        default:
            break;
    }
}

他に注意すべき点は、この switch ステートメントが非常に大きくなる場合、そのようなコードを回避するために戦略パターンを使用できる最善の解決策ではないということです。ただし、配列に何が保持されているかによって異なります。int は、厳密に型指定されたケースに変換し、そのケースの動作を行うことができる時点で、他の何か (たとえば、列挙値の値) を表す場合があります。この質問はソフトウェア エンジニアリングの問題であり、実際に受け取る内容の範囲に依存します。3 つのケースしかない場合は、単純なスイッチが最適であるという議論があります。それは単純だからです。

インラインで切り替えを行っていない理由は、ループに入ることなくそのメソッドの単体テストを容易にするためです。つまり、各ケースを個別にテストでき、変更するときに誤ってループコードを変更することを心配する必要はありません...その整頓

于 2012-04-13T12:18:51.410 に答える
1

スイッチ機能を使ってみてください。

for(int i=0; i

switch(i) { ケース 1: ブレーク;

//すぐ。}

}

于 2012-04-13T12:09:59.807 に答える
0

この要件にはスイッチケースが最適です。3つ以上の条件を確認する場合は、スイッチを選択できます。

   switch (i) {
            case 0:
                System.out.println("i value"+i);

                break;
            case 1:
                System.out.println("i value"+i);

                break;
            case 2:
                System.out.println("i value"+i);

                break;
            case 3:
                System.out.println("i value"+i);

                break;
            case 4:
                System.out.println("i value"+i);

                break;

        }
于 2012-04-13T12:17:39.540 に答える
0

あなたは使用しなければならないswitch caseので..

1:- Cleaner code. Code with multiple chained if/else if ... looks messy and is 
difficult to maintain - switch gives    cleaner structure.

条件は一度評価され
ます。ダフのデバイスのようなものを構築するのに十分な柔軟性があるだけで
なく、はるかに高速に実行されます(ジャンプ/ルックアップ テーブルを介して) * 歴史的に

元:-

 switch (i){  
     case 1:
       // do something
       break;
     case 2:
       // do something
       break;
     case 3:
       // do something
       break;

    // and more...

     default:
       // do something 
   }
于 2012-04-13T12:35:27.350 に答える