大吃一278 2022-03-24 18:05 采纳率: 84%
浏览 239
已结题

Java | 编写一个应用程序求1000以内的全部素数,要求每10个输出在一行。(请问我的程序有什么错误?)

这个程序的问题就是不能换行

public class xuexitong3_1 {
    public static void main(String args[]) {
        for(int i=0;i<=1000;i++) {
            int t=0;
            for(int j=1;j<=i;j++) {
                if(i%j==0)
                    t++;
            }
            int sum=0;
            if(t==2) {
                sum++;
                if(sum%10!=0)
                    System.out.print(i+" ");
                else
                    System.out.println(i);
            }
        }
    }
}


  • 写回答

2条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2022-03-24 18:49
    关注

    因为你把sum放到了for循环内,每次循环的时候,后会将sum初始化为0。

    
    package com.csdn.test;
    
    public class Main {
    
        public static void main(String args[]) {
            int sum = 0;
            for (int i = 0; i <= 1000; i++) {
                int t = 0;
                for (int j = 1; j <= i; j++) {
                    if (i % j == 0)
                        t++;
                }
                if (t == 2) {
                    sum++;
                    if (sum % 10 != 0)
                        System.out.print(i + " ");
                    else
                        System.out.println(i);
                }
            }
        }
    
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月24日
  • 已采纳回答 3月24日
  • 修改了问题 3月24日
  • 创建了问题 3月24日