首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Arrays游戏商店

Java Arrays游戏商店
EN

Stack Overflow用户
提问于 2012-02-16 17:47:49
回答 3查看 516关注 0票数 0

我刚刚开始编写Java,我正在尝试模拟一个游戏商店,并且我有一个数组来打印要购买的每件商品的值。对于数组的每个索引,都有一个项的名称。例如,“开放的宝石”的价格是500美元。如何将字符串名称附加到每个数组索引的价格?我可以通过调用它的下标并附加它的项目名称来打印medicineList的每个实例,但这将取代for循环的用途。我很有兴趣看看有没有别的办法。任何帮助都将不胜感激。下面是方法:

代码语言:javascript
复制
public static int purchaseMedicine(int goldAmount) {

    int[] medicineList = {500, 800, 2000, 8000, 4000, 200, 200};
    int i = 0;

    for(i = 0; i < medicineList.length; i++) {

        System.out.printf("%d\n", medicineList[i]);
    }

    System.out.printf("\tGold %d\n\n", goldAmount);
    return i; // Returns the instances of medicineList
}
EN

回答 3

Stack Overflow用户

发布于 2012-02-16 18:00:11

理想情况下,创建一个类。比方说。游戏,有名字和价格,

代码语言:javascript
复制
class Game {
  public String name;
  public int price;

  Game(String name, int price) {
    this.name = name;
    this.price = price;
  }

  public static void main(String args[]) {
    Game[] medicineList = { new Game ("Skyrim", 500), new Game("Jewel of Open", 400) };

    for(int i = 0; i < medicineList.length; i++) {
      System.out.printf("%d\n", medicineList[i].price);
    }

  }
}

使用Class的好处是,以后您可以轻松地向它添加更多属性,例如Rating,而不需要更改太多代码。

票数 2
EN

Stack Overflow用户

发布于 2012-02-16 17:50:18

您可以使用地图:

代码语言:javascript
复制
Map<String, Integer> prices = new HashMap<String, Integer>();
prices.add("Skyrim", 500);
prices.add("GTA", 800);
///....

然后,您可以遍历映射:

代码语言:javascript
复制
for (Map.Entry<String, Integer> entry : prices.entrySet()) {
    System.out.println(entry.getKey() + " costs " + entry.getValue());
}
票数 0
EN

Stack Overflow用户

发布于 2012-02-16 17:55:19

你可以只创建2个数组。

代码语言:javascript
复制
public static int purchaseMedicine(int goldAmount) {

    int[] medicineList = {500, 800, 2000, 8000, 4000, 200, 200};
    String[] name = { "names here" };

    for(int i = 0; i < medicineList.length; i++) {

        System.out.printf(name[i] +  medicineList[i]);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9308901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档