Java Prime num检查无法按预期工作

时间:2019-10-25 04:25:42

标签: java

我已经编写了用于检查素数的代码,但没有给出正确的输出

 int flag;
    Scanner s = new Scanner (System.in);
    System.out.println("enter upper nd lower bound");
    int lower = s.nextInt();
    int upper = s.nextInt();
    int i=0;
    int j=0;
    for (  i =lower ; i<=upper ;i++){
        if(i==1){
        continue;
        }
    }
        flag =1;
         for (  j = 2 ; j<=i/2 ; j++) {
            if(i%j==0)
                flag = 0;
                break;
        }
    if(flag == 1){
        System.out.println(i);
    }

我的输入是1 10 它显示了我11

2 个答案:

答案 0 :(得分:0)

您的代码的主要问题是,第二个for loop应该嵌套在第一个for loop内。因为第二个for loop中的代码正在获取i=11。当我们将第二个for loop放入嵌套的for loop时,根据条件将具有不同的i值。

        Boolean flag;
        Scanner s = new Scanner (System.in);
        System.out.println("enter upper nd lower bound");
        int lower = s.nextInt();
        int upper = s.nextInt();
        int i=0;
        int j=0;
        for (  i =lower ; i<=upper ;i++){
            if(i==1){
            continue;
            }
        flag =true;
             for (  j = 2 ; j<=i/2 ; j++) {
                if(i%j==0)
                    flag =false;
                    break;
            }
        if(flag){
            System.out.println(i);
        }
}

答案 1 :(得分:-1)

/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        Boolean flag;
        Scanner s = new Scanner(System.in);
        System.out.println("Enter upper and lower bound");
        int lower = s.nextInt();
        int upper = s.nextInt();
        for (int i = lower; i <= upper ;i++){
            flag = true;
            if(i <= 1){
                continue;
            }
            flag = true;
            for (int j = 2 ; j<=i/2 ; j++) {
                if(i % j==0) {
                    flag = false;
                    break;
                }
            }
            if(flag){
                System.out.println(i);
            }
        }
    }
}

https://ideone.com/iwVrro