70個の個別のint変数があり、それらすべてを分析して、0から1、または別の数値に等しい値を設定したいとします。
変数ごとに70のifelseステートメントを記述する代わりに、1つだけ書くことができますか?
このようなことをする方法はありますか?
if("anyInt"==0){
"thatInt" = 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
}
}
これらすべての値の名前が必要な場合は、それらを 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 の間で自動ボックス化およびボックス化解除されます。
コードについて他に何も知らなくても、変数は int 配列にする必要があると言えます。
次に、配列をループして、if ステートメントを 1 つだけ持つことができます。