java - 从构造函数 Java 中获取特定参数
问题描述
我正在使用一副纸牌中的纸牌作为积分创建一个简单的游戏。到目前为止,我已经创建了卡片组并成功打印了它。该程序由 2 个类组成,Game(包含 main 方法)和Card(创建卡片)。我正在尝试创建一个方法(该方法称为Points),它返回每张卡的总数,但我不知道如何从对象的其余部分中提取卡的值。是否有某种deck.something 来提取该特定参数?
如果这个问题已经得到解答,如果您能指出我这个问题,将不胜感激。
以下是我作品的简短版本。
卡片.java
class Card {
private final String name;
private final Integer value;
Card (String name, int value) {
this.name = name;
this.value = value;
}
public String getName () { return name; }
public String getValue () { return value; }
public String toString() { return (this.name + " = " + this.value); }
}
游戏.java
public class Game {
public static void createDeck (ArrayList<Card> deck) {
for (int i = 0; i < 10; i ++) { //creates cards 0 - 10
Card obj = new Card("Card", i);
deck.add(obj);
}
public static Int Points (ArrayList<Card> deck) {} //should return 81 = 0 + 1 + 2 + 3 + ...
public static void main (String [] args) {
ArrayList<Card> deck = new ArrayList<Card>();
createDeck(deck);
Points(deck);
}
解决方案
Card 类中有一个问题。getValue 的返回类型应该是 Integer 而不是 String
public String getValue () { return value; }
应该
public Integer getValue () { return value; }
这是您可以编写 points 方法的方法:
public static Integer points (ArrayList<Card> deck) {
Integer total =0;
for (int i = 0; i < deck.size();i++) {
total+=deck.get(i).getValue();
}
return total;
}