最佳答案
import ;
public class Test { public static void main(String[] args) {
Scanner scanner = new Scanner();
("请输入大于3的整数:");
int n = ();
if(n > 3) {
ln("3-" + n + "之间的素数是:");
calPrime(n);
}else {
ln("输入有误,请输入大于3的整数!");
}
();
}
static void calPrime(int number) {
//判断素数的标记,1为是素数
int flag = 1;
for(int i = 3; i <= number; i++) {
for(int j = 2; j < (i); j++) {
//如果能被1和本身以外的数整除,则不是素数
if(i%j == 0) {
flag = 0;
break;
}
}
if(flag == 1) {
ln(i);
}
flag = 1;
}
}
}
其他答案
import ;
import ;
public class Test {
private static final Scanner scan = new Scanner();
public static void main(String[] args) {
ln("请输入一个正整数:");
try {
int in = ();
if(in < 4) {
ln("小于3");
}
for(int i=4;i
if(isPrime(i)) {
(i+",");
}
}
}catch(InputMi***atchException e) {
ln("输入错误!退出程序");
(0);
}
}
public static boolean isPrime(int num) {
if (num <= 3) {
ret***n num > 1;
}
// 不在6的倍数两侧的一定不是质数
if (num % 6 != 1 && num % 6 != 5) {
ret***n false;
}
int sqrt = (int) (num);
for (int i = 5; i <= sqrt; i += 6) {
if (num % i == 0 || num % (i + 2) == 0) {
ret***n false;
}
}
ret***n true;
}
}