你好我写了一个模拟java测验的程序。该程序有 3 个嵌套类,第一类要求提供用户信息(姓名 id# 等),第二类称为此类是实际测验当用户回答所有问题或时间用完时,测验结束那一点第三班的测验得分。如果用户失败了,他可以按下一个按钮,允许他再做一次测验。when the try again choice is selected a variable that keep track of tries is implemented by one. 但是,问题是跟踪用户尝试了多少次尝试的变量被擦除了,因为我编写代码的方式程序从第 1 类开始,然后是第 2 类和第 3 类,并且出于某种原因当类第二次重新加载时,变量会回到它的初始值。有没有办法可以保存变量以使其不会被擦除?任何帮助都感激不尽。
问问题
2125 次
3 回答
2
我建议在文件中写入值,以便在重新加载类时从那里读取。
于 2012-12-07T15:51:59.537 回答
0
您应该在磁盘上为您的测验信息保留某种持久性。检查FileOutputStream和FileInputStream以读取和写入文件。如果你用谷歌搜索的话,会有很多教程(比如这个。)
于 2012-12-07T15:49:38.687 回答
0
我假设你有类似的东西
public class A {
Object value;
public void setValue(Object value) {
this.value = value;
}
public Object getValue() {
return value;
}
}
因此,当您销毁一个实例并创建一个新实例时,该值就消失了。
作为一种学术解决方案,您可以将其value
移至课堂级别。
所以它会是:
public class A {
static final Object[] values;
static void setValue(Object value) {
values[0] = value;
}
static Object getValue() {
return values[0];
}
}
这种方式value
成员属于类而不是实例。
但不要在现实生活中的应用程序中这样做。重新考虑你的设计。
于 2012-12-07T15:58:53.857 回答