java如何从for循环值创建单个数组
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter number: ");
int a = sc.nextInt();
for ( int i = 1; i < a; i++) {
int []div = {a/i};
if (a%i == 0 ) System.out.print(Arrays.toString(div) + " ");
}
}
输入:68输出:[68][34][17][4][2]
问题是如何使单个数组看起来像[68,34,17,4,2]
# 1 楼答案
由于您不知道
div
预先有多少个元素(它需要a
的因式分解),因此有几个选项:1。计算
div
的大小作为一个单独的步骤:2。使用可变增长集合而不是数组:
如果需要,可以can convert将集合转移到基元数组:
3。使用
Stream
:正如
@Eritrean
在评论中所建议的,您可以使用IntStream
来构建数组:它将比第二个变体更有效,因为它避免了创建
Integer
包装器为了简洁起见,我省略了
main
方法和Scanner
初始化。如果需要,您可以将其放回,例如: