【发布时间】:2015-06-18 21:31:40
【问题描述】:
我是一名业余程序员,我想知道是否有可能以特定方式解决问题。
public class Stats {
public static int[] Hero = {20, 20, 10, 10, 10};
public static int[] Villain = {20, 20, 10, 10, 10};
public static void name(int[] name) {
//If you insert an array it will print all its values
System.out.println("Health: " + name[1] + "/" + name[0]);
System.out.println("Damage: " + name[2]);
System.out.println("Defense: " + name[3]);
System.out.println("Agility: " + name[4]);
return;
}
这是我想要使用的,如果我使用“英雄”或“恶棍”来调用它,它工作正常。
public class UserInterface extends JPanel implements MouseListener, MouseMotionListener {
//A lot of code in between that is not of notice right now
@Override
public void mouseClicked(MouseEvent e) {
if (" ".equals(CHESS.Board[e.getY() / squareSize][e.getX() / squareSize]) == false) {
//Checks if I pressed on a legit space on the map
String name = (CHESS.Board[e.getY() / squareSize][e.getX() / squareSize]);
//In this scenario 'name' will be a String called "Hero"
System.out.println("Name: " + name);
//Will write out 'Name: Hero'
Stats.name(Stats.Hero);
//Works fine
Stats.name(Stats.name);
//Does not work
}
}
现在我想要的是根据我点击的内容调用正确的数组。目前我只有名为“Hero”和“Villain”的数组,但最终在一张地图上会有超过 50 多个数组可供选择。显然只是写 stats.name(Stats.name);不起作用,因为名称是一个字符串,它需要一个 int[]。
但是有没有办法使用我的字符串'name',这样我就可以在不同的类中调用一个名为相同事物的 int[] 数组?
【问题讨论】:
-
Java 是一种面向对象的语言,因此,利用所选语言中的功能确实对您有益。您应该创建一个 Person 对象,其中包含 Hero 和 Villain 子类使用的公共字段。 Person 中的字段之一将是名称。其他字段将对应于各种统计数据。有更好的方法可以到达您需要去的地方。
-
也许这个问题更适合codereview.stackexchange.com
标签: java arrays string class int