学习-Java循环之break之判断素数

本文介绍了如何在Java中使用break语句实现判断给定正整数是否为素数的功能,并给出了相应的代码示例和测试要求。
摘要由CSDN通过智能技术生成

第1关:学习-Java循环之break之判断素数 

任务描述

本关任务:判断给定的任意一个大于 1 的正整数是否是素数。 素数的定义:在大于 1 的自然数中,除了 1 和它本身以外不再有其他因数的自然数。

相关知识

在之前学习的 Java 循环语句中,只有当循环的判断条件不成立时,才能退出整个循环,如果我们想在循环的判断条件依然成立,但在满足某种条件时,退出整个循环,执行循环体以外的语句,这时候就需要使用到 break 语句。

break 语句

break 语句用于强行退出整个循环,而不管循环的条件判断是否成立,并且不执行循环体内后续的语句。

break 语句使用案例:打印 1 到 10,遇到 4 的倍数时程序自动退出。

 
  1. public class BreakTest {
  2. public static void main(String[] args) {
  3. for (int i = 1; i <= 10; i++) {
  4. //判断i是否为4的倍数,如果是,则退出循环。
  5. if (i % 4 == 0) {
  6. break;
  7. }
  8. System.out.print(i+" ");
  9. }
  10. }
  11. }

输出结果如下:

 
  1. 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 sc = new Scanner(System.in);

       

        int a = sc.nextInt();// 接收输入的值,赋值给a

        boolean flag = true;// 为下面的判断定义一个标记

        // 判断输的数是否是素数

        // 使用for循环进行循环判断

        for (int i = 2; i < a; i++) {// i=2和i<a是因为我们要判断除了1和其本身,其他可以整除a的数

            // 使用if判断是否能被2到小于其本身的数,所整除

            if (a % i == 0) {// 如果a除以i取余的结果是零,那么这个数就不是素数

                flag = false;// 因为判断出不是素数,所以把值给为false

                break;// 因为已经判断出了这个数不是素数,所以继续判断下去已经无意义,使用break退出循环

            }

        }

        // 使用if判断所做的标记flag,入过为true就执行下面的内容

        if (flag && a != 1) {// 在前面我么没有判断1,所以在此加上&&

            System.out.println(a + "是一个素数");

        } else {

            System.out.println(a + "不是一个素数");

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值