2

コード:https ://gist.github.com/anonymous/71d1baf86eb8354cfbfe

実行すると、次の問題が発生します。

    Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
        This method must return a result of type int[]

        at NewBlackJack.genCards(NewBlackJack.java:25)
        at NewBlackJack.main(NewBlackJack.java:21)

私の人生で何が悪いのか理解できません。私はそれが配列を返すことと関係があることを知っています、そして私は私の研究をしました、しかし私はまだ助けが必要です。

ありがとう!

4

2 に答える 2

2

ifステートメントを入力したときにのみ戻ります

if (genWhat == 0){

genWhat!= 0の場合、何も返されません。それが不平を言っている理由です。したがって、ifステートメントの後にreturnステートメントを追加する必要があります。

于 2013-03-19T23:39:58.783 に答える
0

コードによると、コードがgenCardsに0を渡すため、ifステートメントを削除するだけでよいようです。メソッドは次のように記述する必要があります。

public static int[] genCards(int genWhat)
    {
        Random r = new Random();
        /*if (genWhat == 0) remove this if statement
        { */
            int[] cards = {0,0,0,0,0,0}; 
            for (int i = 0; i < 4; i += 1)
            {
                cards[i] = 2 + r.nextInt(13);
                if (cards[i] > 11)
                {
                    cards[i] = 10;
                }
                if (cards[i] == 11)
                {
                    if (cards[i] < 2)
                    {
                        cards[5] += 1;
                    }
                    else
                    {
                        cards[6] += 1;
                    }
                }
            }
            System.out.println(cards);
            return cards;
        //}
    }
于 2013-03-19T23:51:43.933 に答える