在 Java 中循环时不添加到列表

Not adding to list while looping in Java

提问人:Ignacio Ovidio Muñoz Nicolás 提问时间:10/4/2023 更新时间:10/4/2023 访问量:45

问:

我正在学习 Java,我正在制作一个简单的纸牌游戏。我想做的第一件事是创建甲板。我在循环时创建对象并将其添加到对象列表时遇到了问题。

首先,我做了一个类“卡片”。构造函数是:

public CartaEspana(int num, int palo) {
        this.numero = num;
        this.palo = palo;
    }

然后我用这个构造函数做了一个甲板类

        //atributos
    private int id;
    private List<CartaEspana> baraja= new ArrayList();
    //Propiedades
    public int getId() {
        return id;
    }
    public List<CartaEspana> getJuegoCartas() {
        return baraja;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setJuegoCartas(List<CartaEspana> juegoCartas) {
        this.baraja = juegoCartas;
    }
    public void addCarta(CartaEspana carta) {
        this.baraja.add(carta);
    }
    public BarajaEspanola(int id) {
        this.id = id;
        int i = 0, j = 0;
        for(i = 0; i == 3; i++) {
            for(j = 1; j == 12; j++) {
                
                this.addCarta(new CartaEspana(j,i));
            }
        }
    }

当我创建甲板并询问列表长度时,它说长度为 0; 我试过了

    public BarajaEspanola(int id) {
        this.id = id;
        this.addCarta(new CartaEspana(1,0));
        this.addCarta(new CartaEspana(2,0));

        }
    }

现在的长度是两个。有什么区别,为什么循环不会在 de Deck 中创建对象? 谢谢

Java List 对象

评论

1赞 Basil Bourque 10/4/2023
是时候学习如何使用调试器来捕获代码中的错误了。en.wikipedia.org/wiki/Debugger

答:

3赞 Pino 10/4/2023 #1

两个嵌套循环执行零次。

将 .我们想在每个循环中询问“是否小于或等于 3 的极限”和“小于或等于 12 的极限”。==<=ij

for(i = 0; i <= 3; i++) {
    for(j = 1; j <= 12; j++) {
       ...
    }
}