分析/过滤所有变量而不声明每个变量?

时间:2013-03-21 02:21:09

标签: java filter filtering

假设您有70个单独的int变量,并且您想要分析所有这些变量并将任何等于零的值设置为1或其他数字。

不是为每个变量编写70 if else语句,而是只能写一个吗?

有没有办法做这样的事情:

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

(应该提到我不知道“集合”是什么)

3 个答案:

答案 0 :(得分: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
    }
}

答案 1 :(得分: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);

您需要导入集合(即导入java.util。*;)。

整数值在int和Integer之间自动装箱并取消装箱。

答案 2 :(得分:0)

在不了解您的代码的任何其他内容的情况下,我会说您应该在int数组中包含变量。

然后你就可以遍历数组,只有一个if语句。