对应的源代码可以在我的 Gitee 仓库中找到,欢迎star~ [Gitee 仓库](https://gitee.com/yukongji/java-basic-algorithm)
任务描述:
输入一个数x,判断它是否是素数。
提示:素数是只能被1和它本身整除的数,1不是素数。
任务要求
代码示例:
package M0317_0331;
import java.util.Scanner;
/**
* 该类用于判断用户输入的非负整数是否为素数。
*/
public class m240317 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 请求用户输入一个非负整数
System.out.println("请输入一个非负整数:");
int num = sc.nextInt();
// 验证输入是否为非负整数
if (num < 0) {
System.out.println("输入错误,请重新启动程序并输入非负整数");
} else {
// 特殊情况处理:0和1不是素数
if (num == 0) {
System.out.println("0不是素数");
} else if (num == 1) {
System.out.println("1不是素数");
} else {
// 遍历从2到num/2的所有数,检查num是否能被它们整除
boolean flag = true; // 用于标记num是否是素数
for (int i = 2; i <= num / 2; i++) {
// 如果num能被i整除,则说明num不是素数,并提前结束循环
if (num % i == 0) {
System.out.println(num + "不是素数");
flag = false; // 标记num不是素数
break; // 添加break以避免不必要的迭代
}
}
// 循环结束后,如果没有找到能整除num的数,则num是素数
if (flag){
System.out.println(num + "是素数");
}
}
}
}
}