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

sha*_*sha 6 java algorithm streaming class-library biginteger

我想用Java创建库类,并在以后的程序中使用它们。我希望这些库类查找最多至某个数字甚至下一个质数的质数,或者您可以说可以解决与质数有关的大多数基本问题。

  1. 我从来没有做过Java库类。我旨在学习这样做。请指出教程或其他内容,以帮助我。我熟悉netbeans IDE。
  2. 我发现了一些算法,如埃拉托色尼的筛阿特金的筛。如果您可以指出更多这样的有效算法,那将是很好的。我不希望他们是最好的,但至少要足够好。我的目标是通过实施来学习一些东西。因为我几乎没有实践编码经验,所以我想这样做以提高自己的技能。
  3. 我的朋友建议我使用流类,他在谈论实现它的方法,即将一个文件的输出作为另一个文件的输入,以使我的代码整洁。我不太了解他。如果我说错了,请原谅我。在这一点上,我想问的是,一种有效且面向对象的方法来完成我想做的事情。如果是,请告诉我该怎么做,如果不是,请指出其他方法。

我有Java语言的基本知识。我想通过这次冒险来完成的工作是获得编码经验,因为这就是每个人都建议的:“从事诸如此类的小事情并自己学习”

预先感谢大家

问候

Shahensha

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

dem*_*mas 3

“埃拉托斯特尼筛法”是寻找素数的好算法。如果您将使用谷歌,您可以在 java 中找到现成的实现