0

70個の個別のint変数があり、それらすべてを分析して、0から1、または別の数値に等しい値を設定したいとします。

変数ごとに70のifelseステートメントを記述する代わりに、1つだけ書くことができますか?

このようなことをする方法はありますか?

if("anyInt"==0){
"thatInt" = 1;}

(私は「コレクション」が何であるかわからないことを言及する必要があります)

4

3 に答える 3

1

int[]次に、forループを使用してそれらを反復処理します。

int[] nums = new int[70];
//put all your numbers in the array, i.e. nums[0] = 5;
for(int i = 0; i < nums.length; i++){
    if(nums[i] == 0){
        //Do whatever to the number
    }
}
于 2013-03-21T02:30:11.657 に答える
1

これらすべての値の名前が必要な場合は、それらを Map (コレクション) に入れます。

Map<String, Integer> myMap = new HashMap<String, Integer>();

myMap.put("varname1",1); 
myMap.put("varname2",0);
myMap.put("varname3",0);
myMap.put("varname4",2);

for (Map.Entry e : myMap.entrySet())
    if (e.getValue()==0) e.setValue(null);

コレクションをインポートする必要があります (例: import java.util.*;)。

整数値は、int と Integer の間で自動ボックス化およびボックス化解除されます。

于 2013-03-21T02:42:30.497 に答える
0

コードについて他に何も知らなくても、変数は int 配列にする必要があると言えます。

次に、配列をループして、if ステートメントを 1 つだけ持つことができます。

于 2013-03-21T02:28:19.693 に答える