从方法返回两个值

时间:2013-12-16 21:23:48

标签: java output

我正在尝试实现一个接受两个布尔参数的方法,使用这些输入并输出两个结果。我试图创建另一个包含两个结果的类,但我对返回两个结果的方式感到困惑。这是我到目前为止的尝试:

public class Results 
{
    private boolean Sum;
    private boolean Carry;

    public Results  (boolean Sum, boolean Carry)
    {
        this.Sum = Sum;
        this.Carry = Carry;
    }

    public boolean getSum()
    {
        return Sum;
    }

    public void setSum(boolean sum)
    {
        this.Sum = sum;
    }

    public boolean getCarry()
    {
        return Carry;
    }

    public void setCarry(boolean carry)
    {
        this.Carry = carry;
    }
}

这是我的功能:

public Results(boolean inp1, boolean inp2)
{
    boolean sum = x1.OperatorGate(inp1, inp2);
    boolean carry = a1.OperatorGate(inp1, inp2);
    return new Results(sum, carry);  
}

我知道在这个网站上有很多关于如何实现这一点的例子,但我发现的每个例子都没有在函数中使用任何参数。

2 个答案:

答案 0 :(得分:2)

你走在正确的轨道上。创建一个类来保存你的两个响应是正确的。

你的函数(java中的方法)有点过时了。试试这个:

public Results getResults(boolean inp1, boolean inp2)
        {
            boolean sum = x1.OperatorGate(inp1, inp2);
            boolean carry = a1.OperatorGate(inp1, inp2);
            return new Results(sum, carry);         
        }

答案 1 :(得分:0)

你对构造函数的目的和构造函数与创建类实例并返回它的常规方法之间的区别感到困惑。

一个关键的区别是构造函数只能在它自己的类的定义中指定 - 你已经这样做了,这很好。

另一个关键区别是当你试图声明一个'普通'方法时,你的意思是该方法应该返回一个结果类型的对象,而是命名方法结果。只有构造函数的名称与它正在创建的类的名称相同。因此,您的'return'语句确实属于那里,您只需要更改方法声明的第一行。