package main;
import java.util.Scanner;
public class sushu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int N = input.nextInt();
for(int i = 1;i <= N;i++)
{
int iSum = 0;
for(int j = 1;j <= i;j++)
{
if(i % j == 0)
{
iSum += j;
}
}
if(iSum == i+1)
{
System.out.println(i));
}
}
}
}
在你println里面的i后面加,像下面这样
system.out.println(i+",")
【以下回答由 GPT 生成】
问题中给出的代码实现了打印从1到N之间的所有素数,但没有实现将素数用逗号分隔开的功能。
要修改代码以实现这个功能,可以使用一个字符串变量来存储所有的素数,并在每次找到素数时将其添加到字符串中。最后,可以将这个字符串打印出来。
下面是修改后的代码:
import java.util.Scanner;
public class sushu {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int N = input.nextInt();
// 创建一个空字符串来存储素数
StringBuilder primeNumbers = new StringBuilder();
for(int i = 1; i <= N; i++) {
int iSum = 0;
for(int j = 1; j <= i; j++) {
if(i % j == 0) {
iSum += j;
}
}
if(iSum == i+1) {
// 将素数添加到字符串中,并用逗号分隔
primeNumbers.append(i).append(",");
}
}
// 去除最后一个逗号
primeNumbers.deleteCharAt(primeNumbers.length() - 1);
// 打印素数
System.out.println(primeNumbers);
}
}
这个修改后的代码中,我们添加了一个 StringBuilder 对象 primeNumbers
来存储找到的素数。在每次找到素数时,我们使用 append
方法将其添加到 primeNumbers
字符串中,并在后面添加一个逗号。最后,我们使用 deleteCharAt
方法删除最后一个逗号,并使用 System.out.println
打印出 primeNumbers
字符串。
这样,运行修改后的代码,输入一个整数N,就会打印从1到N之间的所有素数,并使用逗号将其分隔开。
【相关推荐】