qq_45241276
出道的男人
采纳率12.5%
2020-02-13 18:36

初学java,写了个求质数的一个文件,请大佬帮我看下对不对

想表达的是输入一个数字,看这个数字是不是质数,并输出相应结果。
另外还想问一下有没有更加简便的方法

Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
        if(num==1) {
            System.out.println("这不是质数");
            return;
        }
        for(int i = 2;i <= num;i++) {
            if(num%i==0&&num!=i) {
                System.out.println("这不是质数");
                break;
            }
             if(num==i){
                System.out.println("这是质数");
            }
        }
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • caozhy 回答这么多问题就耍赖把我的积分一笔勾销了 1年前
    这个程序基本上正确,可以改进的地方:
    (1)循环不必全部判断,只要判断到sqrt(num)即可。
    (2)这个程序对于<1的输入参数,结果不对。所以if (num == 1)可以写if (num <= 1)
    
    点赞 1 评论 复制链接分享
  • CJG753951 Java全栈路线 1年前

    不能用break; 得用continue; 不然for循环就结束了

    点赞 评论 复制链接分享

为你推荐