Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.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
嵌套for循环java扑克游戏arraylist构造函数_Java_Arraylist - Fatal编程技术网

嵌套for循环java扑克游戏arraylist构造函数

嵌套for循环java扑克游戏arraylist构造函数,java,arraylist,Java,Arraylist,这是我到目前为止的45张牌的构造器,我正在写一个基本构造器,它应该制作一副45张牌,其中适合的值是(0-黑桃,1-红桃,2-梅花,3-钻石,4-madeupname),而牌值是(1-9,其中1是a) 私人ArrayList卡 public Deck() { cards = new ArrayList <Card>(); for (int valueKind = 1; valueKind<9; valueKind++){ Card newCar

这是我到目前为止的45张牌的构造器,我正在写一个基本构造器,它应该制作一副45张牌,其中适合的值是(0-黑桃,1-红桃,2-梅花,3-钻石,4-madeupname),而牌值是(1-9,其中1是a)

私人ArrayList卡

public Deck() {
    cards = new ArrayList <Card>();

    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,0); 
        cards.add(newCard); 
    }
    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,1); 
        cards.add(newCard); 
    }
    for (int valueKind = 1 ; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,2); 
        cards.add(newCard); 
    } 
    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,3); 
        cards.add(newCard); 
    } 
    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,4); 
        cards.add(newCard); 
    } 
公共甲板(){
cards=newarraylist();

for(int valueKind=1;valueKind如果你想创建值1-9,那么你的for循环处于错误的状态。它应该是
,因为你没有给我一个明确的问题,我就给你一些关于代码的一般性建议


首先,您当前的for loop循环从1到8,而不是从1到9。您应该将循环条件从
valueKind<9
更改为
valueKind有什么问题/缺少了什么?:这是您应该告诉我们的,而不是让我们猜测问题出在哪里。如果您想要每套衣服有9张卡,应该使用新的
for
循环开始de>for(int i=0;i在内部for循环中不是valuekind吗?你听说过int-enum模式吗(我将其命名为int-enum-hell)?避免这种情况。(第30项,有效Java)@Andrew,因为枚举在内存中添加的数据比使用integer多得多
import java.util.ArrayList;
import java.util.List;

/**
 * Created by hendrawd on 11/13/16.
 */
public class Deck {
    List<Card> cards;

    public Deck() {
        cards = new ArrayList<>();
        makeCards(Card.SPADE);
        makeCards(Card.HEART);
        makeCards(Card.CLUB);
        makeCards(Card.DIAMOND);
        makeCards(Card.MADEUPNAME);
    }

    private void makeCards(int type) {
        for (int valueKind = 1; valueKind <= 9; valueKind++) {
            Card newCard = new Card(valueKind, type);
            cards.add(newCard);
        }
    }
}

class Card {
    static final int SPADE = 0;
    static final int HEART = 1;
    static final int CLUB = 2;
    static final int DIAMOND = 3;
    static final int MADEUPNAME = 4;

    private int value, type;

    Card(int value, int type) {
        this.value = value;
        this.type = type;
    }
}
for(int suit = 0 ; suit < 5 ; suit++) {
    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,suit); 
        cards.add(newCard); 
    } 
}
public static final int SPADE = 0;
public static final int DIAMOND = 1;
public static final int HEART = 2;
public static final int CLUB = 3;
public static final int MADE_UP_NAME = 4;

//...

for(int suit = SPADE ; suit <= MADE_UP_NAME ; suit++) {
    for (int valueKind = 1; valueKind<9; valueKind++){ 
        Card newCard = new Card(valueKind,suit); 
        cards.add(newCard); 
    } 
}