Таким образом, у меня есть небольшая проблема с сокращением отрицательной фракцииСнижение отрицательной фракции
Это мое уменьшить код
private void reduce() {
int g = Helper.gcd(this.num, this.den);
num /= g;
den /= g;
}
Например: 8/64 дает 1/8
Но давая -8/64 крах программы ДАВАЙТЕ
Это мой НОД код
public static int gcd(int a, int b) {
while (a != b) {
if (a > b) {
a -= b;
} else {
b -= a;
}
}
return a;
}
Как примечание стороны: такой код действительно ** совершенен ** для модульного тестирования. Это имеет большое преимущество в том, что вы сразу переходите в отладчик, если один из ваших тестов не работает. – GhostCat
Еще одна незначительная вещь: a и b - довольно плохие имена переменных. Дайте имена ваших вещей, которые говорят, что они. – GhostCat