编写一个Java程序,使用 For 循环、While 循环和函数来打印 1 到 N 之间的素数。
Java 程序使用 For 循环打印 1 到 N 之间的素数
此程序允许用户输入任何整数值。接下来,此程序使用 For 循环显示从 1 到 100 的所有素数。
提示:请参阅 Java 中的 检查素数 文章,以了解检查素数涉及的步骤。
public class PrintPrimeNumbers1 {
public static void main(String[] args)
{
int i, number, count;
System.out.println(" Prime Numbers from 1 to 100 are : ");
for(number = 1; number <= 100; number++)
{
count = 0;
for (i = 2; i <= number/2; i++)
{
if(number % i == 0)
{
count++;
break;
}
}
if(count == 0 && number != 1 )
{
System.out.print(number + " ");
}
}
}
}

使用 While 循环打印 1 到 100 之间的素数
此程序使用 While 循环返回 1 到 100 之间的素数列表。
public class Example2 {
public static void main(String[] args)
{
int i, number = 1, count;
System.out.println(" From 1 to 100 are : ");
while(number <= 100)
{
count = 0;
i = 2;
while(i <= number/2 )
{
if(number % i == 0)
{
count++;
break;
}
i++;
}
if(count == 0 && number != 1 )
{
System.out.print(number + " ");
}
number++;
}
}
}
我们只是用 While 循环替换了上面示例中的 For 循环。如果您不了解 While 循环,请参阅 WHILE LOOP。
使用 while 循环打印 1 到 100 之间素数的程序输出
From 1 to 100 are :
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97
如何使用函数显示 1 到 N 之间的素数?
这个程序与第一个示例相同。但是,我们将素数的逻辑分离开来,并将它们放在一个单独的方法中。
import java.util.Scanner;
public class Example3 {
private static Scanner sc;
public static void main(String[] args)
{
int number, minimum, maximum, i, count;
sc = new Scanner(System.in);
System.out.print(" Please Enter the Minimum value : ");
minimum = sc.nextInt();
System.out.print(" Please Enter the Maximum value : ");
maximum = sc.nextInt();
System.out.println(" Prime Numbers from 1 to 100 are : ");
for(number = minimum; number <= maximum; number++)
{
count = 0;
for (i = 2; i <= number/2; i++)
{
if(number % i == 0)
{
count++;
break;
}
}
if(count == 0 && number != 1 )
{
System.out.print(number + " ");
}
}
}
}
Please Enter the Minimum value : 10
Please Enter the Maximum value : 200
Prime Numbers from 1 to 100 are :
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199