Java 分析/筛选所有变量而不声明每个变量?

Java 分析/筛选所有变量而不声明每个变量?,java,filter,filtering,Java,Filter,Filtering,假设你有70个独立的int变量,你想分析所有这些变量,并将任何一个等于0的变量设置为1,或另一个数字 不必为每个变量编写70条if-else语句,您可以只编写一条吗 有没有办法做到这一点: if("anyInt"==0){ "thatInt" = 1;} ? (应该提到的是,我不知道什么是“集合”)如果不知道代码的其他任何内容,我会说应该将变量放在int数组中 然后,您将能够在数组中循环,并且只有一条if语句 使用int[]然后使用for循环遍历它们 int[] nums = new int[

假设你有70个独立的int变量,你想分析所有这些变量,并将任何一个等于0的变量设置为1,或另一个数字

不必为每个变量编写70条if-else语句,您可以只编写一条吗

有没有办法做到这一点:

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


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

如果不知道代码的其他任何内容,我会说应该将变量放在int数组中


然后,您将能够在数组中循环,并且只有一条if语句

使用
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
    }
}
int[]nums=newint[70];
//将所有数字放入数组中,即nums[0]=5;
对于(int i=0;i
如果您需要所有这些值的名称,请将它们放在地图中(这是一个集合):

Map myMap=newhashmap();
myMap.put(“varname1”,1);
myMap.put(“varname2”,0);
myMap.put(“varname3”,0);
myMap.put(“varname4”,2);
对于(Map.Entry e:myMap.entrySet())
如果(e.getValue()==0)e.setValue(null);
您将需要导入集合(即导入java.util.*;)


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

您可以将它们放在一个集合中,并在集合中迭代,然后执行任何您喜欢的操作。
int
不能为
null
。很抱歉吹毛求疵,但原语就是这样工作的。
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);