- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想为扑克牌创建一个类,然后将它们放入 ArrayList 中以在游戏过程中充当你的手牌。不幸的是,每次我尝试画手牌时,用普通的 toString 方法打印时,每张扑克牌看起来都完全相同,尽管它们的花色和值是随机的。这是重要的代码片段,这是 the pastebin of the whole class file (只有 60 行)。谁能告诉我这是怎么回事?如果这是一个重复的问题,我很抱歉,我彻底搜索了。
private static char value;
private static String suit;
private static char [] values = {'A', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'J', 'Q', 'K'};
private static String [] suits = {"Hearts", "Spades", "Clubs", "Diamonds"};
public Card(){
this.value = values[(int)(Math.random()*values.length)];
this.suit = suits[(int)(Math.random()*suits.length)];
}
ArrayList<Card> hand = new ArrayList<Card>();
Card a = new Card();
Card b = new Card();
hand.add(a);
hand.add(b);
for (int i=0; i<hand.size(); i++) {
System.out.println(hand.get(i));
}
最佳答案
问题是 Card
类中的所有变量都是静态
。 static
修饰符意味着变量/方法将是类变量/方法。换句话说,它们每个类仅存在一次,而不是每个实例。
当您创建第一个 Card
实例时,您将 value
和 suit
设置为某些值。然后,当您创建第二个实例时,这些值将被覆盖,因为它们每个类仅存在一次。
你能做什么?你可以从变量和方法中删除static
修饰符。
关于java - 不小心创建了重复的对象? [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24054197/
最近我编写了一个 Android 应用程序,它需要从内置相机拍摄照片并将其取回我的应用程序。我使用了众多教程中的一个,一切正常。但后来我在不同的设备上测试了它,但没有任何效果。似乎有问题,那么我如何确
开发工具:VS2010,MVC4.0,SQLSERVER2008 服务器:Windows server 2012,IIS8,SQLSERVER2012 1、发布后,每个页面第一次打开都很卡,5
这个真的让我很反感。我有一个表单,由应用程序的主要表单生成并拥有,用于搜索记录。表单布局在停靠的 TableLayoutPanel 中,结合了绝对和百分比大小的行/列,以便我的标签在数据输入和结果控件
我正在尝试做这样的事情: #include #include int main() { int l[] = {1,2,3,4}; vector vi(4); copy(l,
我正在使用 Magento 的功能来插入和更新查询。我的要求是在执行这些类型的查询时要处理 SQL 注入(inject)。但我无法找到 Magento 是如何做到这一点的。我正在提供一个起始样本。请给
用换行符分割字符串会导致麻烦的错误。请看我的回答。 原始问题 - 由于无法在日志中看到不可见字符而导致的 XY 问题。 public void DoCommand(String cmd) {
我是一名优秀的程序员,十分优秀!