我正在尝试编写一个程序来查找从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++;
}
}
答案 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);
}
}