gpt4 book ai didi

java - 在循环中创建对象

转载 作者:行者123 更新时间:2023-12-01 11:00:24 25 4
gpt4 key购买 nike

我正在用 Java 创建一个简单的扑克游戏,它将创建一副牌,让你画一手牌并显示你拥有什么样的花色。这是我到目前为止遇到的问题。

我有 3 个不同的数组列表,一个用于卡牌值,一个用于卡牌套装,一个用于在应用卡牌套装和值后保存实际的卡牌对象。我创建了一个循环,该循环应该为每个值(13 个值)添加一个花色,并将它们添加到 newCards ArrayList 中(它的类型为 CARD,这是我拥有的一个不同的类,允许对象同时具有整数和字符串) 。在我尝试打印出 newCards 以查看它是否正常工作后。我收到了不少异常错误。

我不确定如何有效地创建这样的循环,因此我们将不胜感激。

import java.util.*;
public class pokerMain {

public static void main (String [] args){
ArrayList<String> suits = new ArrayList<String>();//array list for the card suits
ArrayList<Integer> val = new ArrayList<Integer>();//array list for card values
ArrayList<CARDS> newCards = new ArrayList<CARDS>();//array list for cards with assigned val/suits

suits.add("Clubs");//These are the suits, added to the suits ArrayList
suits.add("Hearts");
suits.add("Diamonds");
suits.add("Spades");

System.out.println("suits contains: " + suits );//Testing for suit

for(int i = 1; i <= 13; i ++){//loop that adds all 13 values to to the val ArrayList
val.add(i);
}

System.out.println("val contains " + val);//Testing for val

这是循环

    for(int i = 0; i <= val.size(); i ++){//This loop will be used to add a suit to every card value

newCards.add(new CARDS(suits.get(0), val.get(i)));//assigns hearts
newCards.add(new CARDS(suits.get(1), val.get(i)));//assigns hearts
newCards.add(new CARDS(suits.get(2), val.get(i)));//assigns diamonds
newCards.add(new CARDS(suits.get(3), val.get(i)));//assigns spades
}
-------------------------------------------------------------------------
System.out.println(newCards.toString());//prints newCards arrayList

//newCards.add(card);// puts card object into array list newCards

最佳答案

为了防止代码重复,您可以尝试两个循环并分别使用

for(String s : suits) {
for(Integer i : val) {
newCards.add(new CARDS(s, i));
}
}

关于java - 在循环中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380960/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com