gpt4 book ai didi

java - 将嵌套循环复合数字放入列中

转载 作者:行者123 更新时间:2023-12-02 08:55:16 25 4
gpt4 key购买 nike

我必须编写一个程序来打印出所有小于 100 的合数。我必须使用嵌套循环来完成这个程序。此外,这些值必须显示在每列 10 个数字的表格中。

我已经尝试这个程序一个多星期了,但我完全迷失了,我可以得到一些帮助吗?

我做了合数部分,但是如何将数字放入每列 10 个数字的列中?这是代码:

import java.util.Scanner;

class SwitchStatements {
public static void main(String[]Args) {
for (int i = 0; i <= 100; i++) {
for (int j = 2; j <= i/2; j++) {
if (i % j == 0) {
System.out.println(i);
break;
}
}
}
}
}

最佳答案

您的意思是每行 10 个数字(即总共 10 列),还是每列 10 个数字?

假设您将输出中的“表”表示为大致如下所示的内容(本例中有 5 列):

1  2  3  4  5 
11 12 13 14 15

那么我认为你想要做的是跟踪你在这一行打印了多少个数字,并且仅在打印了 10 个数字时才使用 System.out.println ,并且System.out.print 否则:

int numbersPrinted = 0;
for (int i = 0; i <= 100; i++) {
for (int j = 2; j <= i/2; j++) {
if (i % j == 0) {
if (numbersPrinted < 9) {
System.out.print(i + " ");
numbersPrinted++;
} else {
System.out.println(i);
numbersPrinted = 0;
}
break;
}
}
}

如果您希望数字整齐排列,如果 i 小于 10(因此只有一位数字),则可以添加两个空格而不是一个空格。

如果您实际上的意思是每列需要 10 个数字,如下所示(同样,在我的示例中为 5 个):

1  2
3 4
5 6
7 8
9 10

那么您需要每行打印(数字数量/每列 10 个数字)列,因此您无法像示例中那样在嵌套循环中打印它们。相反,您需要将它们添加到 ArrayList 或类似的数组中,并稍后在单独的循环中打印它们:

ArrayList<int> numbersToPrint = new ArrayList<int>();
...
if (i % j == 0) {
numbersToPrint.add(i);
break;
}
...
int numbersPerRow = (numbersToPrint.size()/10);
int numbersPrinted = 0;
for (int i : numbersToPrint) {
if (numbersPrinted < (numbersPerRow - 1)) {
...

其余部分与上面的第一个示例相同。

关于java - 将嵌套循环复合数字放入列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35072624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com