21点游戏不能用Java
这是我的问题的基本步骤。 1.我洗牌我的牌组和显示卡,以确保它洗牌工作完美。 2.我玩21点游戏,做得很好。21点游戏不能用Java,java,runtime-error,shuffle,blackjack,Java,Runtime Error,Shuffle,Blackjack,这是我的问题的基本步骤。 1.我洗牌我的牌组和显示卡,以确保它洗牌工作完美。 2.我玩21点游戏,做得很好。 3.我再一次洗牌,再一次展示牌,但它不起作用。 你们可能会问的一些问题的答案: 1.整个程序处于一个大的while循环中,除非我选择退出游戏作为选项,否则程序不会结束。 2.我试着再次展示我的牌组,没有第二次洗牌,效果很好 public Card deal() { Card temp; temp = storage[top]; storage[top]
3.我再一次洗牌,再一次展示牌,但它不起作用。 你们可能会问的一些问题的答案: 1.整个程序处于一个大的while循环中,除非我选择退出游戏作为选项,否则程序不会结束。 2.我试着再次展示我的牌组,没有第二次洗牌,效果很好
public Card deal()
{
Card temp;
temp = storage[top];
storage[top] = null;
top++;
return temp;
}
public void shuffle()
{
int n = storage.length;
for (int i = 0; i < storage.length; i++)
{
// Get a random index of the array past i.
int random = i + (int) (Math.random() * (n - i));
// Swap the random element with the present element.
Card randomElement = storage[random];
storage[random] = storage[i];
storage[i] = randomElement;
}
}
public void display ()
{
for (int i = top; i<52; i++)
storage[i].display();
}
我的代码来自deck.display
public void display ()
{
for (int i = top; i<storage.length; i++)
storage[i].display();
}
你永远不会重置你的顶级变量,我认为你需要这样做。
发布堆栈跟踪和代码的其余部分。您能为我们提供堆栈跟踪吗?你也可以用它来洗牌。如果没有超长的话,完整的代码会有帮助。然后再次显示卡片,但它不起作用。它以什么方式不起作用?它做什么或不做什么?请具体一点。我得到一个空点例外好的,把整件事都贴出来,这样我们至少可以看到第55行实际上是什么
public void display ()
{
for (int i = top; i<storage.length; i++)
storage[i].display();
}