Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
扑克游戏:用java创建一副牌_Java_Arrays_Object_Poker - Fatal编程技术网

扑克游戏:用java创建一副牌

扑克游戏:用java创建一副牌,java,arrays,object,poker,Java,Arrays,Object,Poker,我正在做一个项目,创建一个扑克游戏。尽管指令非常清楚,但我在面向对象编程方面遇到了很多麻烦 所以对于这个项目,我们必须创建四个对象,卡片、牌组、手牌和扑克手。我已经完成了卡片对象的创建,现在正在处理卡片组对象。这就是我现在遇到麻烦的地方。我试着用谷歌搜索我的问题。然而,由于我是一个编程新手,我并不真正了解他们的方法。例如,我不知道如何使用ArrayList。我只知道非常基本的数组方法 以下代码是我迄今为止为Deck对象所做的工作: import java.util.*; public clas

我正在做一个项目,创建一个扑克游戏。尽管指令非常清楚,但我在面向对象编程方面遇到了很多麻烦

所以对于这个项目,我们必须创建四个对象,卡片、牌组、手牌和扑克手。我已经完成了卡片对象的创建,现在正在处理卡片组对象。这就是我现在遇到麻烦的地方。我试着用谷歌搜索我的问题。然而,由于我是一个编程新手,我并不真正了解他们的方法。例如,我不知道如何使用ArrayList。我只知道非常基本的数组方法

以下代码是我迄今为止为Deck对象所做的工作:

import java.util.*;

public class Deck {

    public static final int CARDS_IN_DECK = 52;
    public static final int SHUFFLE_SWAPS = 700;
    int shufflex = 0;

    private Card[] cards;
    private int card_holder;
    private int seed;

    public Deck(int seed) {
        this.cards = new Card[CARDS_IN_DECK];

        seed = 0;

        for (int i = 2; i <= 14; i++) {
            for (int j = 0; j <= 3; j++) {

                if (j == 0) {
                    cards[seed] = new Card(i, 'c'); // c = Clubs

                } else if (j == 1) {
                    cards[seed] = new Card(i, 'd'); // d == Diamond

                } else if (j == 2) {
                    cards[seed] = new Card(i, 's'); // s== Spade

                } else if (j == 3) {
                    cards[seed] = new Card(i, 'h'); // h = Heart
                }
                seed++;
            }
        }

    }

    public void shuffle(){
        Random rand = new Random ();
        int randomNumber = rand.nextInt(51);
        int randomNumber2 = rand.nextInt(51);

        while( shufflex < SHUFFLE_SWAPS ){

            HOW DO I DO THE SWAP HERE? DON'T KNOW THE SYNTAX
            I KNOW I NEED TO CREATE ANOTHER ARRAY TO TEMPORARY STORE THE FIRST CARD
            THEN I REPLACE THE FIRST CARD WITH THE SECOND CARD
            AND THEN REPLACE THE SECOND CARD WITH THE TEMPORARY CARD

            shufflex++;
        }
    }

    public Card nextCard() {

    }

    public String toString() {

    }
}
import java.util.*;
公务舱甲板{
公共静态最终整数卡组中的整数卡=52;
公共静态最终整数洗牌交换=700;
int-shufflex=0;
私人卡[]卡;
私人int卡持有人;
私有int种子;
公共甲板(国际种子){
this.cards=新卡片[卡片组中的卡片];
种子=0;

对于(int i=2;i你应该使用
ArrayList
作为卡片组,原因有两个。首先,添加/删除卡片会更容易。其次,
java.utils.Collections
中有一个shuffle方法。因此,创建一个ArrayList:
ArrayList deck=new ArrayList()
,添加一张卡片:
deck.add(someCard | int_index)
,要移除一张卡:
deck.remove(someCard | int_index)
,要洗牌:
deck=Collections.shuffle(deck)
(记得导入
java.utils.Collections
)。

不需要内部for循环,即显示
for的循环(int j=0;j这读起来像是家庭作业,如果是,你应该添加
家庭作业
标记。@气垫船谢谢你的输入。我想我明白你的意思。如果我要为西装创建一个数组,那么我可以使用:for(int j=0;j是我还是没有“以下代码”在问题中?当我尝试用谷歌搜索我的问题时,我注意到很多示例代码都使用了ArrayList。但是,我们在我的类中没有介绍这个方法,所以我真的不能使用它。谢谢你的输入。ArrayList是Java的一个基本数据结构。只要使用它。你会更高兴。你不会再使用数组了。@Tony ArrayList是方便的,但它们肯定不会取代普通数组。@MartinTuskevicius也许更好的说法是,“数组不会成为你的数据结构。”事实上,我不记得上一次我在办公室使用一个数组是什么时候,除非某个班级强迫我使用一个。最近我在帮助别人解决学生问题时使用了一个数组,但它远没有这个问题复杂。