怎么用逗号把列出来的素数都隔开不

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之间的所有素数,并使用逗号将其分隔开。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^