良良良 发表于 2019-9-27 09:44

java 老师说我代码有问题,我找不出来。

题目要求 是输出区间500——1000之内的素数。
我写的代码如下:


public class data {


        /**
       * @Param args
       */
        public static void main(String[] args) {
                int n,i;
                boolean prime=true;
                for(i=500;i<=1000;i++)
                {
                        for(n=2;n<i;n++)
                        {
                                if(i%n==0)
                                        {
                                        prime=false;
                                        break;}
                                else prime=true;
                               
                        }
                        if(prime)System.out.print(i+"\t");
                       
                }       
                // TODO Auto-generated method stub


        }


}




之前那个老师故意整我,我没理他,结果这次这段代码他看都没看,直接问我是不是自己写的,说定了这代码肯定有问题    还问我是不是考上来的。
各位老哥帮忙下看有没有问题,我实在找不出来。

阿政0506 发表于 2019-9-27 11:15

代码不太规范。

暴躁的鹅卵石 发表于 2019-9-27 11:30

本帖最后由 暴躁的鹅卵石 于 2019-9-27 11:33 编辑

首先是 代码不规范再就是,是求500-1000以内的,不是500-1000

public class data {
      public void main(String[] args) {
      int n, i;
      boolean prime = true;
      for (i = 501; i < 1000; i++) {
            for (n = 2; n < i; n++) {
                if (i % n == 0) {
                  prime = false;
                  break;
                } else {
                  prime = true;
                }
            }
            if (prime) {
                System.out.print(i + "\t");
            }
      }
    }
}

mketo 发表于 2019-9-27 13:45

暴躁的鹅卵石 发表于 2019-9-27 11:30
首先是 代码不规范再就是,是求500-1000以内的,不是500-1000

public class data {


你的少了static

mketo 发表于 2019-9-27 13:47

楼主 ,你的除了代码不规范,其他好像没问题~~~~~~~~~~

qiqi2050352 发表于 2019-9-27 20:00

就冲你后半部分的格式就不会想往下看了,虽然仔细看没错,但太不规范了

萧筱小 发表于 2019-9-28 00:04

如图,。

萧筱小 发表于 2019-9-28 00:09

萧筱小 发表于 2019-9-28 00:04
如图,。

只能说,,算法没啥毛病,你多看看别人是怎么写的。你就知道你的问题了。

baboon 发表于 2019-9-29 17:30

执行结果没问题,能求出500-1000的素数。
我看出的不规范的地方在于:

[*]类名首字母未大写;
[*]外部并未使用到两个for循环的变量,n 和 i 定义在for循环中即可;
[*]运算符之间要空格;
[*]if语句只有一行代码的时候最好还是不要简写;

马西瓜 发表于 2019-10-2 16:01

{:1_896:}就你这代码写的我是老师我也不愿意看
页: [1] 2
查看完整版本: java 老师说我代码有问题,我找不出来。