2012-10-02 48 views
5

因为我正在探索ArrayLists,所以我只是为了纯粹的乐趣。我知道如何使用模运算符来检查它是否可以被3整除。但是,知道如何将它与arrayList一起使用的线索。在ArrayList中查找可以被3整除的数字

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) 

} 

}

+2

你不应该大写变量的第一个字母,在Java命名约定是大写它在类名和较低的情况下,变量名称以及方法名称。 –

回答

6

你需要循环在清单中的项目,例如,使用增强的for循环语法:

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

注:

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

有关Java Tutorial中的列表的更多信息。

+0

我非常接近这个-__-。谢谢。有太多的循环,只是不知道何时使用它们。希望试验和错误会教。 – AppSensei

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

作为Java命名约定:只有类以大写字母开头。变量具有较低的情况下启动,所以这是更好:ArrayList<Integer> division = new ArrayList<Integer>();

+0

@Simulant ..切换投票和+1 –

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迭代..广例子

5

或者,你也可以使用一个“正常”的循环:

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