Java Prime Numbers示例

这篇博客展示了如何在Java中使用Java 8 Stream和BigInteger来寻找质数,同时介绍了传统的Eratosthenes筛法。提供了三种不同的Java示例,包括Java 8 Stream的方法以及Eratosthenes筛法的实现,以找到不超过1000的所有质数。
摘要由CSDN通过智能技术生成

以下Java示例将打印所有不超过1000的质数的列表:

2	3	5	7	11	13	17	19	23	29	31	37	41	43	47	53	59	61	67	71
73	79	83	89	97	101	103	107	109	113	127	131	137	139	149	151	157	163	167	173	
179	181	191	193	197	199	211	223	227	229	233	239	241	251	257	263	269	271	277	281	
283	293	307	311	313	317	331	337	347	349	353	359	367	373	379	383	389	397	401	409	
419	421	431	433	439	443	449	457	461	463	467	479	487	491	499	503	509	521	523	541	
547	557	563	569	571	577	587	593	599	601	607	613	617	619	631	641	643	647	653	659	
661	673	677	683	691	701	709	719	727	733	739	743	751	757	761	769	773	787	797	809	
811	821	823	827	829	839	853	857	859	863	877	881	883	887	907	911	919	929	937	941	
947	953	967	971	977	983	991	997	

Total: 168

3个Java示例:

  • Java 8 Stream和BigInteger
  • 普通的旧Java
  • Eratosthenes算法筛

1. Java 8 Stream和BigInteger

1.1使用流。

PrintPrimeNumber.java
package com.mkyong.test;

import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class PrintPrimeNumber {

    public static void main(String[] args) {

        long count = Stream.iterate(0, n -> n + 1)
                .limit(1000)
                .filter(TestPrime::isPrime)
                .peek(x -> System.out.format("%s\t", x))
                .count();

        System.out.println("\nTotal: " + count);

    }

    public static boolean isPrime(int number) {

        if (number <= 1) return false; // 1 is not prime and also 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值