【发布时间】:2017-07-31 21:54:00
【问题描述】:
我一直在查看代码,但我找不到任何看起来不对劲的地方。我是编程新手,所以也许我遗漏了一些明显的东西,但任何帮助将不胜感激。我正在做的任务是制作一个 52 张卡片组,然后设计更改卡片组的方法,这些卡片正在创建但没有添加到 ArrayList。我的甲板类代码是:
import java.util.*;
public class FiftyTwoCardDeck
{
List<Card> totalDeck = new ArrayList<>();
private int deckSize = totalDeck.size();
public FiftyTwoCardDeck()
{
for(int j=0;j<4;j++) {
for(int k=0;k<13;k++) {
String s;
String c;
switch(j) {
case 0:
s = "Spades";
break;
case 1:
s = "Diamonds";
break;
case 2:
s = "Clubs";
break;
case 3:
s = "Hearts";
break;
}
switch(k) {
case 0:
c = "Ace";
break;
case 10:
c = "Jack";
break;
case 11:
c = "Queen";
break;
case 12:
c = "King";
break;
default:
c = ""+(k+1);
break;
}
Card card = new Card(s, c);
totalDeck.add(card);
}
}
}
public int cardAmount()
{
return deckSize;
}
}
测试器类只是创建了一个对象:
public class FiftyTwoCardDeckTester
{
public static void main(String args[])
{
FiftyTwoCardDeck deck = new FiftyTwoCardDeck();
}
}
为套牌制作对象的卡片类是:
import java.util.*;
public class Card
{
public Card(String st, String ct)
{
suit = st;
count = ct;
}
public String getSuit()
{
return suit;
}
public String getCount()
{
return count;
}
public String suit;
public String count;
}
【问题讨论】:
-
您的 deckSize 始终为零。您应该在您的
cardAmount方法中返回totalDeck.size() -
为了帮助您学习语言,您应该学习如何通过断点和普通调试器来调试语言。看看这篇文章如何:vogella.com/tutorials/EclipseDebugging/article.html
-
感谢大家的帮助,非常感谢。我去看看调试链接 DogEatDog