我的计划有什么问题?我试图找到从n到m的素数列表

时间:2014-10-16 00:04:26

标签: java

我正在尝试编写一个程序来查找从n到m的素数,但我不知道我做错了什么。

例如,如果我输入2代表n和9代表m,我就回来了

2

正确的输出应

2
3
5
7

这是我的代码:

public static void main(String[] args)
{
    Scanner input = new Scanner(System.in);
    PrintStream output = System.out;

    output.print("Enter a number to test: ");
    int n = input.nextInt();
    int m = input.nextInt();
    boolean isPrime = true;
    int i = 2;
    while (n > 0 && n < m)
    {
        isPrime &= n % i != 0;

        if (isPrime)
        {
            output.println(n);
        }

        n++;
    }
}

1 个答案:

答案 0 :(得分:0)

我已经按照我的方式实施了它。希望这会有所帮助。

import java.util.Scanner;
class PrimeNumbers
{
   public static void main (String[] args)
   {        
      Scanner scanner = new Scanner(System.in);
      int i =0;
      int num =0;
      //Empty String
      String  primeNumbers = "";
      System.out.println("Enter the value of n:");
      int n = scanner.nextInt();
       System.out.println("Enter the value of m:");
      int m = scanner.nextInt();

      for (i = n; i <= m; i++)         
      {                   
         int counter=0;           
         for(num =i; num>=1; num--)
         {
        if(i%num==0)
        {
        counter = counter + 1;
        }
     }
     if (counter ==2)
     {
        //Appended the Prime number to the String
        primeNumbers = primeNumbers + i + " ";
     }  
      } 
      System.out.println("Prime numbers from m to n are :");
      System.out.println(primeNumbers);
   }
}