如何将编号列表添加到我的Prime编号应用程序,以及如何将2包括为素数

时间:2016-10-20 01:39:07

标签: java

到目前为止,这是我的代码:

package PrimeNumberinRange;

import java.util.Scanner;

public class MainApp 
{

  public static void main(String[] args) 
  {
    int lowerLimit, upperLimit, s3, flag = 0, i, j;
    Scanner s = new Scanner(System.in);
    System.out.println("Enter the lower limit :");
    lowerLimit = s.nextInt();
    System.out.println("Enter the upper limit :");
    upperLimit = s.nextInt();
    System.out.println("Prime numbers :");

    for (i = lowerLimit; i <= upperLimit; i++)
    {

            for (j = 2; j < i; j++) 
            {

                if (i % j == 0) 
                {
                    flag = 0;
                    break;
                } else 
                {
                    flag = 1;
                }
            }
            if (flag == 1) 
            {
                System.out.println(i);
            }

    }//for

  }//main

}//MainApp

显然,我需要将2作为素数包含但不能在声明中找到适合的位置。而且我也希望将素数显示在这样的列表中:

输入下限:
1
输入上限:
10个
素数:
1. 2
2. 3
3. 5
4. 7

也非常欢迎任何其他建议或提示。

2 个答案:

答案 0 :(得分:0)

只需在if语句中添加另一个条件:

for (i = lowerLimit; i <= upperLimit; i++)
{

        for (j = 2; j < i; j++) 
        {

            if (i % j == 0 && i!=2) 
            {
                flag = 0;
                break;
            } else 
            {
                flag = 1;
            }
        }
        if (flag == 1) 
        {
            System.out.println(i);
        }

 }

或者您可以创建一个方法来检查它是否是素数。

boolean isPrime(int n) {
for(int i=2;i<n;i++) {
    if(n%i==0)
        return false;
}
 return true;
}

现在,还有其他更快的方法,但我希望你得到你想要的答案。

答案 1 :(得分:0)

如何打印它是前提条件好的

System.out.println("Prime numbers :");
if (upperLimit >= 2) {
  // just print it
  System.out.println("2");
}