0

我正在为一个有几个纸牌游戏的学校项目编写一个 java 应用程序。我正在写第一个,并为我计划做的所有游戏实现了一个框架。我有一个名为 Deck 的类,它控制所有卡片组逻辑并在 arrayList 中创建一个包含 52 个卡片对象的卡片组。每当我创建卡片组时,程序都会停止并且没有响应。据我在网上查看,它说我创建了太多对象,程序试图清理它们或其他东西。我对java相当陌生,对如何解决这个问题感到非常困惑。这是 createDeck() 方法和生成的 LogCat 输出。非常感谢任何帮助或智慧。提前致谢!

public void createDeck() 
{
    for (int i = 1; i <= 13; i++)
    {

        for (int j = 0; j < 4; i++)
        {

            if (j == 0) //If diamond suite
            {
                Card newCard = new Card(i, j);
                cardDeck.add(newCard);
            }

            if (j == 1) //If hearts suite
            {
                Card newCard = new Card(i, j);
                cardDeck.add(newCard);
            }

            if (j == 2) //If clover suite
            {
                Card newCard = new Card(i, j);
                cardDeck.add(newCard);
            }

            if (j == 3) //If spade suite
            {
                Card newCard = new Card(i, j);
                cardDeck.add(newCard);
            }

        }

    }
}

LogCat 输出

WAIT_FOR_CONCURRENT_GC blocked 61ms
GC_CONCURRENT freed 153K, 7% free 3755K/4024K, paused 69ms+25ms total 213ms
4

1 回答 1

4

一个小错误:

在第二个for循环更改中:

for (int j = 0; j < 4; i++)

至:

for (int j = 0; j < 4; j++)

顺便说一句,通过使用调试器或打印来记录 - 你会在一秒钟内找到它。

于 2012-11-18T08:23:49.983 回答