任务描述
本关任务:判断给定的任意一个大于 1 的正整数是否是素数。 素数的定义:在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。
相关知识
在之前学习的 Java 循环语句中,只有当循环的判断条件不成立时,才能退出整个循环,如果我们想在循环的判断条件依然成立,但在满足某种条件时,退出整个循环,执行循环体以外的语句,这时候就需要使用到 break 语句。
break 语句
break 语句用于强行退出整个循环,而不管循环的条件判断是否成立,并且不执行循环体内后续的语句。
break 语句使用案例:打印 1 到 10,遇到 4 的倍数时程序自动退出。
public class BreakTest {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//判断i是否为4的倍数,如果是,则退出循环。
if (i % 4 == 0) {
break;
}
System.out.print(i+" ");
}
}
}
输出结果如下:
1 2 3
从结果中我们可以看到,当 i=4 的时候,循环立即退出,所以 4 以及后续数字都不会被打印出来。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
/*
任务:判断给定的任意一个大于 1 的正整数是否是素数。
素数的定义:在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。
思路:接收给定的正整数n,从2到n对该数取余,如果存在余数为零,那么该数不为素数,否则就是素数
如果不是:请输出“x不是一个素数”。
如果是:请输出“x是一个素数”。
*/
import java.util.Scanner;
public class BreakTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
Scanner intput = new Scanner(System.in);
int n = intput.nextInt();
int a = 0;
for(int i = 2;i <= n/2;i++)
{
if(n%i==0){
a=1;
break;
}
}
if(a==0){
System.out.println(n+"是一个素数");
}
else{
System.out.println(n+"不是一个素数");
}
/********** End **********/
}
}