Java 显示';n';复合数的数目
我试着做一个如下的程序 从用户处获取一个整数n;查找前n个复合数字;以每行包含5个数字的方式显示这些数字。例如,如果用户输入10,则程序需要输出 468910 12 14 15 16 18“ 问题是,当我输入要显示的整数数时,它显示的比预期的少一个,就像如果我输入整数数“10”,它会打印出9个整数Java 显示';n';复合数的数目,java,Java,我试着做一个如下的程序 从用户处获取一个整数n;查找前n个复合数字;以每行包含5个数字的方式显示这些数字。例如,如果用户输入10,则程序需要输出 468910 12 14 15 16 18“ 问题是,当我输入要显示的整数数时,它显示的比预期的少一个,就像如果我输入整数数“10”,它会打印出9个整数 import java.util.Scanner; 公共课你好{ 公共静态void main(字符串[]args){ intn; int状态=1; int num=1; 整数计数=0; 扫描仪输入=
import java.util.Scanner;
公共课你好{
公共静态void main(字符串[]args){
intn;
int状态=1;
int num=1;
整数计数=0;
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入要查看的复合编号:”);
n=input.nextInt();
System.out.println(“第一个“+n+”复合数字是:”);
对于(int i=2;i在下面的循环中使用2
初始化i
是否有任何具体原因:
for(int i=2;我使用您的调试器一次一行地检查代码。您会比在这里提问更快地发现问题并学到更多。看起来您可能在寻求家庭作业帮助。虽然我们在这方面没有问题,但请注意这些问题,并相应地编辑您的问题。(即使这不是家庭作业,也请考虑这个建议。)欢迎使用堆栈溢出。看起来你需要学习使用调试器。请自取一些。如果以后还有问题,请随时返回更多的细节。
int n;
int status = 1;
int num = 1;
int count = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter the number of composite numbers you wish to view:");
n = input.nextInt();
System.out.println("The first " + n + " composite numbers are:");
for (int i = 2; i <= n;) {
for (int j = 2; j <= Math.sqrt(num); j++) {
if (num % j == 0) {
status = 0;
break;
}
}
if (status == 0) {
System.out.print(num + " ");
i++;
count++;
}
status = 1;
num++;
if (count == 5) {
System.out.println();
count = 0;
}
}
}
for (int i = 1; i <= n;) {
for (int j = 2; j <= Math.sqrt(num); j++) {
if (num % j == 0) {
status = 0;
break;
}
}
if (status == 0) {
System.out.print(num + " ");
i++;
count++;
}
status = 1;
num++;
if (count == 5) {
System.out.println();
count = 0;
}
}