请看看我的逻辑是否正确,我不知道如何实现我想要做的事情。我是java初学者。
游戏是一个类,用于存储游戏完成后该用户的名称和步数。
[第一种方法]
private game[] gameArray = new game[10];
for(int i = 0; i <gameArray.length;i++){
gameArray[i].setName(nameTxt.getText());
gameArray[i].setpSteps(stepsCount);
}
通过单击“历史记录”按钮,他们将获得前 10 个人的姓名和步数。
JOptionPane.showMessageDialog(null,
"Player's Name No. of Steps"+
"\n"+gameArray[i].toString());
-问题:
1) 此代码仅限于之前的 10 个结果,无论如何我都可以获得之前的所有结果
2)此代码不起作用!
[第二种方法 - 这也不起作用! ]
private game[] gameArray = new game[10];
// Storing the name of player[i]
gameArray[i].setName(nameTxt.getName());
// Storing the number of steps player[i] took.
gameArray[i].setpSteps(stepsCount);
//Displaying previous 10 players name and steps
JOptionPane.showMessageDialog(null,
"Player's Name No. of Steps"+
"\n"+gameArray[i].toString());
最佳答案
几点:
- 你不能直接将数组转换为
String
通过toString()
因为 Java 不支持它,所以您应该使用Arrays.toString(..)
- Java 数组具有静态大小,如果您想存储整个历史记录,您将需要一个动态数据结构,如
ArrayList<Game>
或LinkedList<Game>
- 类名应大写(
Game
,而不是game
) - 不了解
Game
的内部结构类不可能告诉什么不起作用以及为什么它不起作用,我们甚至不知道它到底应该做什么
关于java - 在类中存储变量时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14673837/