首页 > 解决方案 > 从构造函数 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);
}

标签: javaarraylist

解决方案


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;
}

推荐阅读