Yun_ZH 2021-10-23 20:16 采纳率: 75%
浏览 11
已结题

求素数,可以正常运行,但是结果错误(会输出1-1000),想问下是哪里错了怎么改呢?


package sushu;

public class changs {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int data[];
        //生成数组
        data=new int[1000];
        //1)调用初始化(静态方法直接调用)
                DataInput(data);
                //2)筛选素数
                ProcessPrime(data);
                //3)打印素数
                PrintPrime(data);        

    }
    //数据初始化的静态方法
     static void DataInput(int data[]) 
     {
            for(int i=0;i<data.length;i++)
            {data[i]=i+1;}
        }
     
     //筛选素数
     static void ProcessPrime(int data[]) {
         int i,j,temp;
            for(i=1;i<data.length;i++) {
                if(data[i]==0) {
                    for(j=i+1;j<data.length;j++) {
                        if(data[j]!=0) {
                            temp=data[j]%data[i];
                            if(temp==0) 
                            {data[j]=0;}
                        }
                    }
                }
            }
}

     //完成素数打印
    static void PrintPrime(int data[]) {
        int i;
        for(i=0;i<data.length;i++) {
            if(data[i]!=0) {
                System.out.println("素数:"+data[i]);

                }
                }
            }
        }
        
        }
    

我想求1-1000的素数,但是最后输出结果是1-1000,怎么改呢?

  • 写回答

2条回答 默认 最新

  • Yun_ZH 2021-10-23 20:21
    关注

    我知道了,我有一行代码写错了;改完以后答案就正确了,谢谢

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

报告相同问题?

问题事件

  • 系统已结题 10月31日
  • 已采纳回答 10月23日
  • 创建了问题 10月23日

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路