我正在编写一个程序,它将显示用户输入生成的数字的因子。我试图使用循环迭代的数组。 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)。如何修改循环以迭代数组的每个元素?提前致谢。
答案 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中,如何使用循环迭代数组的各个元素并打印每个元素?
正如你所描述的那样。自己编写代码。它会帮助你学习。 (并且不要忘记数字之间的分隔符!!)