1

メソッドの戻り値を取得し、その直後の別のメソッドで使用する方法を知りたいです。たとえば、私がこれをしたとしましょう:

public Integer multiply(Integer n1, Integer n2){
    return n1 * n2;
}

//I know this is wrong but I don't know what params to put
public Integer add(Integer n1, Integer n2){
    return n1 + n2;
}

multiply(2, 2).add(???????);

これで、乗算メソッドの 4 を値として使用して終了し、add メソッドを使用して、乗算の結果である 4 に任意の値を追加します。

注:私はできることを理解しています:

add(multiply(2, 2), 3);

しかし、このフォーマットの使い方を知りたいです。

私が達成したいことは次のとおりです。

Integer i = multiply(2, 2).add(5);
System.out.print(i);

これを実行すると、2 * 2 = 4 + 5 = 9 であるため、出力は 9 になります。これについて説明してください :)

4

2 に答える 2

0
Integer i = multiply(2, 2).add(5);
System.out.print(i);

あなたがするときはここに

 multiply(2, 2) 

を返し、integerその戻り値の型を使用してInteger、`add() メソッドを呼び出そうとしています。

しかし、あなたがやろうとしている署名と意図が何であれ、クラスadd() method内では利用できません。Integer

そのため、クラスadd()内で利用できないように不平を言います。Integer

それを達成するにはmultiple(2,2)、独自のクラスを返して結果を取得します。

add()次に、そのオブジェクトを使用して、必要な方法で簡単にそのメソッドを呼び出します。

同じことを達成する方法は次のとおりです

package com.kb;

public class MultipleMethodCalls {

    int result;
    static MultipleMethodCalls m = new MultipleMethodCalls();

    public static void main(String[] args) {


        System.out.println(m.multiply(2, 2).add(3));
    }

    public MultipleMethodCalls multiply(Integer n1, Integer n2){


       m.result= n1 * n2;
       return m;

    }

    //I know this is wrong but I don't know what params to put
    public Integer add(Integer n1){
        return this.result + n1;
    }


}
于 2014-05-26T18:40:29.277 に答える