哪种是在Java中实现素数查找算法的最佳方法?我们如何制作库类并在Java中使用?

我想用Java制作库类,并在我未来的程序中使用它们.我希望这些库类可以找到最多一定数量的素数,甚至可以找到下一个素数,或者你可以说解决大多数与素数相关的基本事物.

>我从未制作过Java库类.我的目标是学习这样做.通过指出教程或其他东西,请帮助我.我熟悉netbeans IDE.
>我发现了一些像Sieve of EratosthenesSieve of Atkin这样的算法.如果你能指出更多这样有效的算法,那将会很棒.我不希望它们是最好的,但至少足够好.我的目标是通过实施它们来学习一些东西.因为我没有什么实际的编码经验,所以我想这样做是为了提高我的技能.
>我的朋友建议我使用Stream Classes,他正在谈论通过将一个文件的输出作为另一个文件的输出来实现它来使我的代码干净.我不太了解他.如果我说错了,请原谅我.在这一点上我想要问的是,这是一种有效的OO方式来做我想做的事情.如果是,请告诉我该怎么做,如果没有,请指出其他方法来做到这一点.

我有Java语言的基本知识.我想通过这次冒险实现的目标是获得编码经验,因为这就是每个人都在这里提出的建议,“接受像这样的小事并自己学习”

感谢你们所有人提前

问候

shahensha

编辑:
在Eratosthenes和其他人的筛选中,我们需要在数据结构中存储从2到n的数字.我应该在哪里存放?我知道我可以使用动态集合,但只是一个小问题……如果我想找到数十亿甚至更多的素数(毫无疑问我将使用Big Integer),但所有这些都将存储在堆中对?有溢出的恐惧吗?即使它不会是一个好习惯吗?或者在文件中存储数字或列表(我们将根据我们使用的算法执行操作)并在那里访问它会更好吗?对不起,如果我的问题太吵了…

解决方法:

“Eratosthenes的筛子”是找到素数的好算法.如果你使用谷歌,你可以找到ready implementation in java.

上一篇:java – BigInteger.pow和BigInteger.isProbablePrime有什么复杂性?


下一篇:byte数组和BigInteger之间的相互转换