在ArrayList中查找可被3整除的数字

时间:2012-10-02 17:07:07

标签: java arraylist iteration

因为我正在探索ArrayLists,所以我这样做很有趣。我知道如何使用模数运算符来检查它是否可以被3整除。但是,已经知道如何将它与arrayList一起使用。

public static void main(String[] args) {

    //Print out only a set of numbers divisible by 3 from an array.

    ArrayList<Integer> division = new ArrayList<Integer>();

    //Add a set of numbers.
    Division.add(10);
    Division.add(3);
    Division.add(34);
    Division.add(36);
    Division.add(435);
    Division.add(457);
    Division.add(223);
    Division.add(45);
    Division.add(4353);
    Division.add(99);


    //How can I fix the logic below?
    if(Division.get() % 3 == 0)

}

}

4 个答案:

答案 0 :(得分:6)

您需要遍历列表中的项目,例如,使用增强的for循环语法:

for (int i : Division) {
    if (i % 3 == 0) {
        System.out.println(i + " is divisible by 3");
    }
}

注意:

  • 您应该应用java命名约定。特别是,变量名以小写字母开头(除了常量):Division =&gt; division
  • 您的division对象实际上是一个数字列表,因此numbers可能是一个更好的名称。

有关Java Tutorial中的列表的详细信息。

答案 1 :(得分:6)

for(Integer number: division){
  if(number % 3 == 0){
    System.out.println(number);
  }
}

作为Java命名约定:只有类以大写开头。变量以小写字母开头,因此效果更好:ArrayList<Integer> division = new ArrayList<Integer>();

答案 2 :(得分:5)

或者,您也可以使用“正常”循环:

for (int i = 0; i < Division.size(); i++)
     {
       if(Division.get(i) % 3 == 0)
       {
        System.out.println(Division.get(i));
       }
     }

答案 3 :(得分:3)

首先,您应该声明以小写字母或下划线开头的变量。

其次你需要迭代你的ArrayList来获取它的元素,你的ArrayList应该是Wrapper Type整数不是Primitive type int ..

ArrayList<Integer> division = new ArrayList<Integer>();
// Initialize your arraylist here
for (Integer i : division) {
    if (i % 3 == 0) {
        System.out.println("Number : " + i + "is divisible by 3");
    }
}

看看这个blog ..它有很多例子,涵盖如何迭代List ..