0

私はあなたに手札を与えるプログラムに取り組んでいますが、カードを返さない理由がよくわかりません. これは、ランダム カードを生成するクラス Builder のメソッドです。

public static String hand(){

String card = Builder();
String card2 = Builder();
String card3 = Builder();
String card4 = Builder();
String card5 = Builder();

out.println("Your hand is: ");
out.println( card );
out.println( card2 );
out.println( card3 );
out.println( card4 );
out.println( card5 );

return card;
return card2;
return card3;
return card4;
return card5;
4

4 に答える 4

1

いいえ、複数の値を返すことはできません。
ただし、これらすべての文字列を含む文字列の配列を送信できます。

メソッドを宣言するには、これを試してください:

Public String[] hand() {
String card = Builder();
String card2 = Builder();
String card3 = Builder();
String card4 = Builder();
String card5 = Builder();
return new String[] {card, card2, card3, card4, card5};
}
于 2014-07-11T05:44:09.513 に答える
1

「 Head first core Java 」をできるだけ早く読むことをお勧めします。
メソッドから返せる値は 1 つだけです。すべての変数を特定のカードに設定する必要がある場合は、以下のアプローチに従ってください。このような場合、値を 1 つも返す必要はありません (戻り値の型は を参照してくださいvoid)。すべてがメソッド内で設定されます。

class Play {
    String card;
    String card2;
    String card3;
    String card4;
    String card5;

    public void hand() {
        this.card = builder();
        this.card2 = builder();
        this.card3 = builder();
        this.card4 = builder();
        this.card5 = builder();
    }

    private static String builder() {
        // return random card
        return null;  //temporary set to null

    }
}
于 2013-04-09T12:49:18.213 に答える