gpt4 book ai didi

Java如何返回两个变量?

转载 作者:行者123 更新时间:2023-12-01 23:12:59 32 4
gpt4 key购买 nike

在 C++ 之后,我正在尝试学习一些 Java,并且我对我一直在编写的代码有疑问。我正在上分数课,但我陷入了减少部分。由于该方法不允许我同时返回“num”和“den”,因此我必须返回“n”这是我的方法

public double reduce() {
int n = num;
int d = den;

while (d != 0) {
int t = d;
d = n % d;
n = t;
}
int gcd = n;

num /= gcd; //num = num / greatestCommonDivisor
den /= gcd; //den = den / greatestCommonDivisor
return n;
}

我正在尝试执行“return num, den;”然而它不允许我。

这就是我得到的

to reduced test for  100/2 is 2.0
to reduced test for 6/2 is 2.0

当我运行时

System.out.println("to reduced test for  " + f4.toString() + " is " + f4.reduce());
System.out.println("to reduced test for " + f6.toString() + " is " +f6.reduce());

为什么我应该得到 50/1 和 3/1 却得到了 2?如果 IDE 让我同时返回 num 和 den,是否可以解决这个问题?

谢谢

最佳答案

Java 没有本地方法可以执行此操作,您只能返回一个对象或原语。这给你留下了两个选择:

  • 返回长度为2的数组。

    public int[] reduce()
    {
    ...
    return new int[]{num, den};
    }
  • 返回包含两个数字的包装类的对象。

    public Fraction reduce()
    {
    ...
    return new Fraction(num, den);
    }

关于Java如何返回两个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21591178/

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