在Java中,如何使用循环迭代数组的各个元素并打印每个元素?

时间:2012-10-22 23:11:58

标签: java arrays loops factors

我正在编写一个程序,它将显示用户输入生成的数字的因子。我试图使用循环迭代的数组。 main方法将调用承载数组的方法,并根据用户输入打印其输出。

package arrayCalculateFactors;

import java.util.Scanner;

public class ArrayFactors {

    public static void main(String[] args) {
        int num = 0;
        int[] factorOutput = CalculateFactors(num); // Call method containing
                                                    // array.
        System.out.println("The factors of your number are " + factorOutput);
    }

    public static int[] CalculateFactors(int num) {
        Scanner numInitial = new Scanner(System.in);
        System.out.println("Please enter a number.");
        int numInput = numInitial.nextInt();
        int[] Factors;
        Factors = new int[18];
        for (int i = 1; i <= numInput / 2; i++)
            if (numInput % i == 0) {

            }
        return Factors;

    }
} // End class

当我运行这个程序时,它会吐出内存地址,而不是因子(10的输入会打印1,2,5,10)。如何修改循环以迭代数组的每个元素?提前致谢。

3 个答案:

答案 0 :(得分:1)

您必须遍历数组的每个元素并单独打印。祝你好运。

答案 1 :(得分:0)

使用for语句打印数组:

System.out.println("Your factor outputs are: " + factorOutput[0]);
for (int i = 1; i < factorOutput.length; i++)
    System.out.println(factorOutput[i]);

编辑:这只是一个打印数组的例子,假设它至少有一个项目。*

答案 2 :(得分:0)

  

当我运行这个程序时,它会吐出内存地址......

要使用System.out.print(something)System.out.println(something)将某些内容打印到标准输出。如果something是引用类型,则print方法会在Object.toString()上调用something。对于大多数足够的引用类型,但数组类型的toString()方法打印出数组的内部类型名称及其标识哈希。 (它看起来像一个内存地址......但从技术上讲它不是。)

因此,要打印数组,您需要迭代元素,并一次打印一个元素,并在元素之间使用分隔符。或者使用为您执行格式化的库方法(例如Arrays.toString())。

  

在Java中,如何使用循环迭代数组的各个元素并打印每个元素?

正如你所描述的那样。自己编写代码。它会帮助你学习。 (并且不要忘记数字之间的分隔符!!)