我需要一个程序来打印任意两个间隔之间的所有素数,然后打印两个间隔之间有多少个素数。
所以我有一个正在运行的代码,但它不会打印数字 2 并且我知道 2 是一个素数。它正在正确地执行其他所有操作。我尝试了一些其他可以打印 2 的代码,但如果我输入负数,它也会给出负数。
import java.util.Scanner;
class Main {
public static void main(String args[]) {
int first, last, flag = 0, i, j;
Scanner scanner = new Scanner(System.in);
System.out.print("\nEnter the lower bound : ");
first = scanner.nextInt();
System.out.print("\nEnter the upper bound : ");
last = scanner.nextInt();
System.out.println("The prime numbers in between the entered limits are :");
int x = 0;
for (i = first; i <= last; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) {
flag = 0;
break;
} else {
flag = 1;
}
}
if (flag == 1) {
x++;
System.out.println(i + " ");
}
}
System.out.println("Total number of prime numbers between " + first + " and " + last + " are " + x);
}
}
因此,如果我输入 -5(上限)和 10(下限),它应该打印: 2 3 5 7 -5 到 10 之间的素数总数是 4
但它打印 3 5 7 -5 到 10 之间的素数总数是 3
婷婷同学_
阿波罗的战车
慕村225694
繁花如伊
相关分类