gpt4 book ai didi

java - 简单的错误检查用户输入

转载 作者:行者123 更新时间:2023-12-02 07:30:06 25 4
gpt4 key购买 nike

我在使用分数加法、减法和除法方法时遇到了麻烦。我已经有了乘法部分,只是在加法时无法获得正确的输出。请帮我弄清楚我做错了什么,我是 Java 新手,我仍在学习。这是我到目前为止所得到的。``

private int numer;
private int denom;

public Fraction(int num, int den) {
numer = num;
denom = den;

simplify();
}
public int findGcd(int a, int b) {
int temp;
while (b != 0) {
temp = b;
b = a % b;
a = temp;
}
return a;
}

void simplify() {
int gcd = findGcd(numer, denom);
numer /= gcd;
denom /= gcd;
}
public int getNumer() {
return numer;
}
public int getDenom() {
return denom;
}

Fraction add(Fraction x) {
Fraction answer;

if (x.getDenom() == denom) {
answer = new Fraction(x.getNumer() + numer, denom);
} else {
denom = this.getDenom() * x.getDenom();
numer = this.getNumer() * x.getDenom() + x.getNumer()
* this.getDenom();

return new Fraction(numer, denom);

}
return answer;
}

Fraction subtract(Fraction x) {
Fraction answer;

if (x.getDenom() == denom) {
answer = new Fraction(x.getNumer() - numer, denom);
} else {
denom = this.getDenom() * x.getDenom();
numer = this.getNumer() * x.getDenom() - x.getNumer()
* this.getDenom();
answer = new Fraction(numer, denom);
}
return answer;
}

Fraction mult(Fraction x) {
Fraction answer;

denom = this.getDenom() * x.getDenom();
numer = this.getNumer() * x.getNumer();
answer = new Fraction(numer, denom);

return answer;
}

Fraction div(Fraction x) {
Fraction answer;

denom = this.getDenom() * x.getNumer();
numer = this.getNumer() * x.getDenom();
answer = new Fraction(numer, denom);
return answer;
}

当我输入 2 个分数时,它返回一个分数,但它不是正确的答案。我做错了什么?

更新

如果我使用小分数,例如 1/2 和 3/4,它仍然会给我错误的答案。对于加法,它打印出 7/2、减法 1/2 和除法 3/1。所以我认为这与 intfloat 数字没有任何关系。

最佳答案

在您的函数中,您将覆盖数字和分母的值。变化:

denom = this.getDenom() * x.getDenom(); 
numer = this.getNumer() * x.getDenom() - x.getNumer()
* this.getDenom();
answer = new Fraction(numer, denom);

int newdenom = this.getDenom() * x.getDenom(); 
int newnumer = this.getNumer() * x.getDenom() - x.getNumer()
* this.getDenom();
answer = new Fraction(newnumer, newdenom);

关于java - 简单的错误检查用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13019067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com