Java 蓝色纸牌游戏

Java 蓝色纸牌游戏,java,random,arraylist,bluej,Java,Random,Arraylist,Bluej,因此,我最近一直在学习java,使用最新版本的Bluej,有人告诉我这将是一个很好的起点。我已经完成了通常的Hello World,学习如何获取和设置、数组和数组列表等。。。我决定尝试一下简单的纸牌游戏,我相信这实际上是21点,但不要引用我的话。无论如何,我不知道从哪里开始,我得到了一个模板,但我在试图找出其中的一些部分时遇到了困难,希望有人能帮助我,代码如下: public class Deck() { private int card; private int suit;

因此,我最近一直在学习java,使用最新版本的Bluej,有人告诉我这将是一个很好的起点。我已经完成了通常的Hello World,学习如何获取和设置、数组和数组列表等。。。我决定尝试一下简单的纸牌游戏,我相信这实际上是21点,但不要引用我的话。无论如何,我不知道从哪里开始,我得到了一个模板,但我在试图找出其中的一些部分时遇到了困难,希望有人能帮助我,代码如下:

public class Deck()
{
    private int card;
    private int suit;

public Deck()
{
    shuffle();
}

public void shuffle()
{
   double rand = (int)(Math.random()*(card+1)
   // Bare in mind I dont even think this is correct
   // Need to generate a double value from 0.0 up to but not including 1.0
   // Apparently to produce value in a range of 1 to 6
   // I need to apply a scaling factor of 6 and add 1 to the result
}

public int getCard()
{
    return card;
}

public int getSuit()
{
    return suit;
}
那么,我的代码是否正确?我不希望它是一个复杂的21点版本,如果它确实是这样的话,从它的52张牌的事实来看,我认为每手4张牌或类似的东西,这是非常有可能的,因为我也做了一些研究,看看其他人已经产生了什么,但我真的不知道我要去哪里与这一个!非常感谢任何帮助!因为我真的想填补空白

一些错误:

  • 类主体:它的公共类组{},而不是公共类组()。只对方法或构造函数使用()而不是类

  • 您声明了card和suit字段,但实际上从未将它们设置为anyhting

  • double-rand:将变量rand声明为double,但随后尝试为其指定int

小贴士:

  • 要生成随机值,请尝试“random”类。此类有一个nextInt(n)方法,可以生成0到n-1之间的数字。它比数学更容易理解,也更清晰

  • 试着制作一张额外的“卡片”,其中包含一个代表卡片号码和套间的数字

  • 如果将牌组中的牌表示为数组或ArrayList,则会更容易。最后一个可以在Collections.shuffle()方法中使用。这样你就不必涉猎Random或Math.Random()


“我的代码对吗?”嗯……
public class Deck()
肯定是错的。。。我还没有读过其余的,知道它不会编译。除此之外,你还特别问我们什么?我不确定我是否在伪答案之外发现了一个问题……我正在尝试找出我的代码的基本错误,其次是shuffle方法是否正确-因此//code注释。谢谢!我现在更清楚我的错误在哪里了!