【问题标题】:Find numbers divisible by 3 in an ArrayList在 ArrayList 中查找可被 3 整除的数字
【发布时间】:2012-09-23 13:56:27
【问题描述】:

我这样做纯粹是为了好玩,因为我正在探索 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)

}

}

【问题讨论】:

  • 变量的第一个字母不能大写,Java的命名约定是类名大写,变量名和方法名小写。

标签: java arraylist iteration


【解决方案1】:

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

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

注意:

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

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

【讨论】:

  • 我非常接近这个-__-。谢谢。那里的循环太多了,只是不确定何时使用它们。希望试错能教。
【解决方案2】:
for(Integer number: division){
  if(number % 3 == 0){
    System.out.println(number);
  }
}

作为 Java 命名约定:只有类以大写字母开头。变量以小写开头,这样更好:ArrayList&lt;Integer&gt; division = new ArrayList&lt;Integer&gt;();

【讨论】:

    【解决方案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..

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多