java - 在类中存储变量时遇到问题

标签 java

请看看我的逻辑是否正确,我不知道如何实现我想要做的事情。我是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/

相关文章:

java - 为什么我无法定义数组?

java - Webview.loadData 不适用于低于 3.x 的 Android 设备

java - 无法运行 java 程序! NoClassDefFoundError?

java - 关键云类型转换厂的时区变化

java - Android 中的重写 onResume 方法不适用于每个 fragment

java - Jackson 枚举序列化和反序列化

java - 在 Hibernate 中使用 transient 实体更新/合并现有的持久对象

java - 位移位有限制吗?

Java无法加载 "BEGIN TRUSTED CERTIFICATE"格式的证书

java - 在卡片 View 中使用时,Android 中带有圆角的 Persistent Bottom Sheet 会崩溃