【发布时间】:2021-09-10 04:43:57
【问题描述】:
下面的代码是我现在无法联系到的人与我共享的代码。我对数组列表、方法链接以及编码仍然很陌生。我尝试将“Deck.get(number).getValue()”转换为“Deck.getValue()”和其他一些变体,但每次我这样做时代码似乎都会失败。有人可以解释那条特定的线以及为什么它只在链接时才有效吗?
附言
- 向所有由于缺乏明确性而认为这篇文章过于简单或乏味的人表示歉意。这是我第一次发帖,我就是我的用户名所暗示的。
导入 java.lang.Math; 导入 java.util.*;
公共类卡片{
private String suit;
private String value;
public static void draw(){
int number = (int) (Math.random() * Deck.size());
System.out.println("\nCard: " + Deck.get(number).getValue() + " of " + Deck.get(number).getSuit() );
Deck.remove(number);
}
public static void count(){
System.out.println("\nCards left in the Deck: " + Deck.size());
}
public Card(String suit, String value){
this.suit = suit;
this.value = value;
}
static ArrayList<Card> Deck = new ArrayList<Card>(52);
public String getSuit(){
return suit;
}
public String getValue(){
return value;
}
public void setSuit(String suit){
this.suit = suit;
}
public void setValue(String value){
this.value = value;
}
public static void main (String[] args){
String[] Suits = {"Clubs", "Spades", "Hearts", "Diamonds"};
String[] Values = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
for(int i = 0; i < 4; i++){
for(int a = 0; a < 13; a++){
Card Card = new Card(Suits[i], Values[a]);
Deck.add(Card);
}
}
int choice;
do{
cls();
System.out.println(" -----------");
System.out.println("|1. Draw |");
System.out.println("|2. Count |");
System.out.println("|3. Exit |");
System.out.println(" -----------");
System.out.println("Choose an Action: ");
Scanner sc = new Scanner(System.in);
choice = sc.nextInt();
if (choice == 1)
{
draw();
}
else if (choice == 2)
{
count();
}
}while(choice!=3);
}
}
【问题讨论】:
-
我会认为很多牌都放在一个牌组中,而不是相反。但无论如何要回答你的问题
Card是一个ArrayList。 ArrayList 是类似对象的集合,例如一个学生教室,一个图书馆等。当您致电get时,您将返回一个对象(甲板),然后您要求它的价值。回到图书馆的例子,当你想要一本书的标题时,你不会想要图书馆的标题。
标签: java arrays arraylist chaining chain