使用java判断101-200之间有多少个素数并输出

 更新时间:2026年01月07日 08:28:07   作者:牛肉胡辣汤  
在编程中,处理数学问题是一个常见的任务,本文将介绍如何使用Java语言来判断101到200之间的整数中有多少个是素数,并输出这些素数,需要的小伙伴可以了解下

在编程中,处理数学问题是一个常见的任务。本文将介绍如何使用Java语言来判断101到200之间的整数中有多少个是素数,并输出这些素数。素数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的数。

什么是素数

素数(Prime number)是只有两个正因子(1和自己)的自然数,且必须大于1。例如,5是一个素数,因为它只能被1和5整除;而4不是素数,因为它可以被1、2和4整除。

Java代码实现

下面是一个简单的Java程序,用于找出并打印101到200之间的所有素数:

public class PrimeNumbers {
    public static void main(String[] args) {
        int count = 0; // 计数器,用于统计素数的数量
        for (int i = 101; i <= 200; i++) {
            if (isPrime(i)) {
                System.out.println(i);
                count++;
            }
        }
        System.out.println("101到200之间共有 " + count + " 个素数。");
    }

    // 判断一个数是否为素数的方法
    private static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

代码解析

主方法 (main 方法):

  • 定义了一个计数器 ​​count​​ 来记录找到的素数数量。
  • 使用 ​​for​​ 循环遍历101到200之间的每一个数字。
  • 对每个数字调用 ​​isPrime​​ 方法检查是否为素数。
  • 如果是素数,则打印该数字并将计数器加一。
  • 最后,输出总共找到了多少个素数。

判断素数的方法 (isPrime 方法):

  • 首先检查数字是否小于或等于1,如果是,则返回 ​​false​​,因为1及以下的数不是素数。
  • 使用一个 ​​for​​ 循环从2开始到该数字的平方根进行迭代。选择平方根作为上限是因为如果一个数不是素数,那么它必定有一个小于或等于其平方根的因数。
  • 在循环中,如果发现任何能整除该数字的数,则返回 ​​false​​。
  • 如果循环结束后没有发现能整除的数,则返回 ​​true​​,表示该数字是素数。

运行结果

当你运行上述Java程序时,它会输出101到200之间的所有素数以及这些素数的总数。

方法补充

方法一

下面是一个用Java编写的示例程序,用于判断101到200之间的素数,并输出这些素数及其总数。

public class PrimeNumbers {
    public static void main(String[] args) {
        int start = 101;
        int end = 200;
        int count = 0;

        System.out.println("Prime numbers between " + start + " and " + end + " are:");

        for (int i = start; i <= end; i++) {
            if (isPrime(i)) {
                System.out.println(i);
                count++;
            }
        }

        System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
    }

    // 判断一个数是否为素数
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        for (int i = 2; i <= Math.sqrt(num); i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

代码解释

主类和主方法

  • ​PrimeNumbers​​ 是主类。
  • ​main​​ 方法是程序的入口点。

变量定义

  • ​start​​ 和 ​​end​​ 分别定义了要检查的范围(101到200)。
  • ​count​​ 用于记录找到的素数数量。

循环遍历范围内的每个数

  • 使用 ​​for​​ 循环从 ​​start​​ 到 ​​end​​ 遍历每个数。
  • 对于每个数,调用 ​​isPrime​​ 方法判断其是否为素数。

判断素数的方法

  • ​isPrime​​ 方法接受一个整数 ​​num​​ 作为参数。
  • 如果 ​​num​​ 小于或等于1,则返回 ​​false​​(因为1及以下的数不是素数)。
  • 使用 ​​for​​ 循环从2到 ​​sqrt(num)​​ 检查是否有任何数能整除 ​​num​​。如果有,则 ​​num​​ 不是素数,返回 ​​false​​。
  • 如果没有找到能整除 ​​num​​ 的数,则 ​​num​​ 是素数,返回 ​​true​​。

输出结果

如果一个数是素数,输出该数并增加 ​​count​​。

最后输出总共有多少个素数。

方法二

下面是一个使用Java编写的程序,用于判断101到200之间有多少个素数,并输出所有的素数。

Java 代码

public class PrimeNumbers {
    public static void main(String[] args) {
        int start = 101;
        int end = 200;
        int count = 0;

        System.out.println("Prime numbers between " + start + " and " + end + " are:");

        for (int i = start; i <= end; i++) {
            if (isPrime(i)) {
                System.out.println(i);
                count++;
            }
        }

        System.out.println("Total prime numbers between " + start + " and " + end + ": " + count);
    }

    // 判断一个数是否为素数
    public static boolean isPrime(int num) {
        if (num <= 1) {
            return false;
        }
        if (num == 2) {
            return true;
        }
        if (num % 2 == 0) {
            return false;
        }
        for (int i = 3; i <= Math.sqrt(num); i += 2) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
}

代码解释

主类和主方法

  • ​PrimeNumbers​​ 是主类。
  • ​main​​ 方法是程序的入口点。

变量定义

  • ​start​​ 和 ​​end​​ 分别定义了要检查的范围(101到200)。
  • ​count​​ 用于记录素数的数量。

循环遍历范围内的每个数

  • 使用 ​​for​​ 循环从 ​​start​​ 到 ​​end​​ 遍历每个数。
  • 对于每个数 ​​i​​,调用 ​​isPrime​​ 方法判断其是否为素数。

输出素数:如果 ​​i​​ 是素数,输出该数并增加 ​​count​​。

输出总素数数量:循环结束后,输出总的素数数量。

判断素数的方法 isPrime​:

  • 如果 ​​num​​ 小于等于1,返回 ​​false​​(1不是素数)。
  • 如果 ​​num​​ 等于2,返回 ​​true​​(2是最小的素数)。
  • 如果 ​​num​​ 是偶数且不等于2,返回 ​​false​​(偶数除了2都不是素数)。
  • 使用 ​​for​​ 循环从3开始,每次增加2(只检查奇数),直到 ​​Math.sqrt(num)​​,如果 ​​num​​ 能被任何一个小于等于其平方根的数整除,则返回 ​​false​​。
  • 如果以上条件都不满足,返回 ​​true​​,表示 ​​num​​ 是素数。

运行结果

运行上述程序,你将看到101到200之间的所有素数及其总数。例如:

Prime numbers between 101 and 200 are:
101
103
107
109
113
127
131
137
139
149
151
157
163
167
173
179
181
191
193
197
199
Total prime numbers between 101 and 200: 21

到此这篇关于使用java判断101-200之间有多少个素数并输出的文章就介绍到这了,更多相关java判断素数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java反射(JDK)与动态代理(CGLIB)详解

    Java反射(JDK)与动态代理(CGLIB)详解

    下面小编就为大家带来一篇浅谈Java反射与动态代理。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2021-08-08
  • Java中的Semaphore源码分析

    Java中的Semaphore源码分析

    这篇文章主要介绍了Java中的Semaphore源码分析,Semaphore是一个访问公共资源的线程数量如限流、停车等,它是一个基于AQS实现的共享锁,主要是通过控制state变量来实现,需要的朋友可以参考下
    2023-11-11
  • JAVA8 stream中三个参数的reduce方法对List进行分组统计操作

    JAVA8 stream中三个参数的reduce方法对List进行分组统计操作

    这篇文章主要介绍了JAVA8 stream中三个参数的reduce方法对List进行分组统计操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • java数组算法例题代码详解(冒泡排序,选择排序,找最大值、最小值,添加、删除元素等)

    java数组算法例题代码详解(冒泡排序,选择排序,找最大值、最小值,添加、删除元素等)

    这篇文章主要介绍了java数组算法例题代码详解(冒泡排序,选择排序,找最大值、最小值,添加、删除元素等),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • Java使用ip2region获取用户的ip归属地的详细步骤

    Java使用ip2region获取用户的ip归属地的详细步骤

    ip2region 是一个离线IP地址定位库和IP定位数据管理框架,能实现10微秒级别的查询效率,提供了众多主流编程语言的xdb数据生成和查询客户端实现,本文给大家介绍了如何使用ip2region获取用户的ip归属地的详细步骤,需要的朋友可以参考下
    2025-05-05
  • java读取文件内容为string字符串的方法

    java读取文件内容为string字符串的方法

    今天小编就为大家分享一篇java读取文件内容为string字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • java利用POI读取excel文件的方法

    java利用POI读取excel文件的方法

    这篇文章主要介绍了java利用POI读取excel文件的方法,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-12-12
  • java IO 字节流详解及实例代码

    java IO 字节流详解及实例代码

    这篇文章主要介绍了java IO 字节流详解及实例代码的相关资料,需要的朋友可以参考下
    2017-03-03
  • SpringBoot实现application配置信息加密

    SpringBoot实现application配置信息加密

    在配置文件中,我们有开发环境配置和生产环境配置,而生产环境的配置信息是需要做好防护的,避免外泄,所以本文为大家整理了application配置信息加密的方法,需要的可以参考下
    2023-07-07
  • Java数据类型转换实例解析

    Java数据类型转换实例解析

    这篇文章主要介绍了Java数据类型转换实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11

最新评论