我正在寻找一个表示分数(有理数)的Java库。例如,如果我要存储分数,1/3
那么它将不会被保存,0.33333
因为它将失去其准确性。
这是我希望在此类库中找到的一些功能:
getNumerator()
getDenominator()
add(Rational r1, Rational r2)
,subtract(Rational r1, Rational r2)
,multiply(Rational r1, Rational r2)
,divide(Rational r1, Rational r2)
isProper()
getCommonDenominator(Collection<Rational> rationals)
getSimplified()
尽管我想知道是否已经存在类似的东西,但我可以自己实现这样的库。
编辑: 如果该库还实现(除上述之外)某些数论算法(如getEgyptianFractionsSum()
等等),那也很好。
该JScience
库包括该类org.jscience.mathematics.number.Rational
。在另外的通常的工厂,存取和操作,可以构建其他有用的实体,包括Polynomial<Rational>
,Vector<Rational>
和Matrix<Rational>
。
例如,获取分数集合的最低公分母的函数可能看起来像这样:
private static LargeInteger lcd(Collection<Rational> fractions) {
Rational sum = Rational.ZERO;
for (Rational rational : fractions) {
sum = sum.plus(rational);
}
return sum.getDivisor();
}
以下语句显示6
:
System.out.println(lcd(Arrays.asList(
Rational.valueOf(1, 2), Rational.valueOf(1, 3))));
问题内容: 我要寻找一个Java库与标准的Unix功能,即接口,,。 这曾经存在,并被称为。它于2000年发布。请参阅此公告。但是项目页面现在不见了。 如今,在Java中是否有现代替代这些类型的函数的功能?可以进行系统调用并解析输出,或者编写自定义JNI方法,但是这些方法比简单地使用旧库要有效得多。 澄清- 为了从C程序中找出文件的所有者,它应调用给出所有者的UID,然后用于从UID获取帐户的名称
问题内容: 如果我在.NET中没有记错的话,可以为未处理的异常注册“全局”处理程序。我想知道Java是否有类似的东西。 问题答案: 是的,有,但只有在没有设置时才会触发。
问题内容: Java中是否有Mutex对象或一种创建对象的方法?我问是因为用1许可初始化的Semaphore对象对我没有帮助。考虑这种情况: 如果在第一次获取时发生异常,则catch块中的释放将增加许可,并且该信号量不再是二进制信号量。 正确的方法是吗? 上面的代码是否可以确保信号量是二进制的? 问题答案: 看到此页面:http : //www.oracle.com/technetwork/art
问题内容: 我目前正在使用以Java实现的专用,解释性编程语言。作为该语言的一小部分,我想添加对Java进行调用的功能。在深入思考所有细节之前,我想知道是否有人知道通用库来进行反射性调用Java代码的“后端”部分。 也就是说,我将字符串(我定义了语法)解析为表示Java方法调用(或构造函数或字段访问)的某种数据结构,然后将该数据结构传递给该调用调用并返回结果的库。特别是,我希望它已经能够处理所有我
问题内容: 我仍在寻找解决这个问题的理想方法。总而言之,我正在用Java对电源子系统进行建模,并且需要一个有向无环图(DAG)类型的容器来存储数据。 我在C ++的标准模板库(STL)中找到了我真正需要的东西。它是multiset,它支持为同一键存储多个数据值。我可以清楚地看到如何使用此数据结构来存储电源节点和键及其作为值的上游/下游连接。 我的客户对我用Java编写电源子系统模型有严格的要求,因
问题内容: 有谁知道一个允许我解析.PO文件的Java库?我只想创建ID和值的映射,以便将它们加载到数据库中。 问题答案: 根据Java gettext实用程序手册, 您可以使用程序将PO文件转换为ResourceBundle类,并使用java.util.ResourceBundle或gnu.gettext.GettextResource读取它- 我认为这是最有效的方法。Gettext-commo