我正在寻找一个代表分数(有理数)的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()等等,也会很好.
我的问题是语言独立.我想写一个简单的单位转换程序.有转换类型,根据类型有单位.例如,如果我们将长度作为转换类型,那么将有Meter,Inch,Foot,Kilometer,Mile等.想象一下,有两个下拉框 - 一个方向来自,而另一个是方向.每个下拉框下方都有一个文本框.简单地说,当我在左侧选择英寸并在右侧选择英里并在任一文本框中键入任何数字时,我希望等效项出现在另一个文本框中.就像任何正常的单位转换app.Now我对此非常困惑.只是用if ... else写一个长代码,如果这样做的唯一方法呢?你会以什么方式跟随专业人士?
我是编程和Android开发的新手,我正在尝试为长度单位转换创建一个应用程序.我使用了两个微调器(从单元到单元),所以我需要检查用户在两个微调器中选择了什么,然后返回值.我的问题是如果声明我已经很长,所以我想知道是否有更好的解决方案.
抱歉我的英语不好,我希望你明白我的意思.
这是长度的函数:
public double lengthConversion() {
double res = 0.0;
num = Double.parseDouble(editTextNum.getText().toString());
// first spinner is mm, second spinner is mm
if (posFrom == 0 && posTo == 0) {
res = num;
} else if (posFrom == 0 && posTo == 1) { //second spinner is cm
res = num / 10;
} else if (posFrom == 0 && posTo == 2) { // dm
res = num / 100;
} else if (posFrom == 0 && …Run Code Online (Sandbox Code Playgroud)