java实现输入两个整数 ,输出两者之间的素数
发布网友
发布时间:2022-05-05 07:49
我来回答
共1个回答
热心网友
时间:2023-10-16 08:14
参考代码和注释
import java.util.Scanner;
public class SSDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
int x = Integer.parseInt(sc.nextLine().trim());
System.out.println("请输入第二个数字");
int y = Integer.parseInt(sc.nextLine().trim());
sc.close();
if(y<x){//如果第二个数字 小于第1个数字 ,那么交互
int z =x;
x=y;
y=z;
}
System.out.println(x+"到"+y+"之间的素数:");
for (int i = x; i <=y; i++) {
if(isPrime(i)){
System.out.print(i+"\t");
}
}
}
public static boolean isPrime(int num){//判断是否是素数
boolean flag = true;
if (num < 2) {// 负数,0,1都不是素数,不用判断
return false;
}else{
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {// 若能被整除,则说明不是素数
flag = false;
break;
}
}
}
return flag;
}
}
测试
请输入第一个数字
31
请输入第二个数字
21
21到31之间的素数:
232931
热心网友
时间:2023-10-16 08:14
参考代码和注释
import java.util.Scanner;
public class SSDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数字");
int x = Integer.parseInt(sc.nextLine().trim());
System.out.println("请输入第二个数字");
int y = Integer.parseInt(sc.nextLine().trim());
sc.close();
if(y<x){//如果第二个数字 小于第1个数字 ,那么交互
int z =x;
x=y;
y=z;
}
System.out.println(x+"到"+y+"之间的素数:");
for (int i = x; i <=y; i++) {
if(isPrime(i)){
System.out.print(i+"\t");
}
}
}
public static boolean isPrime(int num){//判断是否是素数
boolean flag = true;
if (num < 2) {// 负数,0,1都不是素数,不用判断
return false;
}else{
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {// 若能被整除,则说明不是素数
flag = false;
break;
}
}
}
return flag;
}
}
测试
请输入第一个数字
31
请输入第二个数字
21
21到31之间的素数:
232931