0

我必须ArrayList在 College 类中创建一个学生,arraylist 中的每个对象都包括姓名、学生 ID、地址和测验分数

我正在编写测试程序类,我需要我的程序继续运行以创建一个大型数组列表,以便我可以执行诸如 find 查找学生编号或查找最高分数之类的命令。

我已经创建了这样的方法,并且在我的测试程序类中我实现了 Scanner 以从键盘获取命令,但是在它执行命令之后,即添加学生它会终止程序,所以当我想回顾我刚刚添加的内容时(使用“ find” 例如)程序已经终止并且新创建的对象消失了。

我可以对我的测试程序类做些什么来保持它“运行”并允许数组列表增长。

4

4 回答 4

1

要在程序的执行之间保留数据,您需要将其持久化。通常的方法是以某种格式将其写入文件。如果 中的对象是ArrayList可序列化的,您可以简单地将整个数组ObjectOutputStream写入写入 aFileOutputStream以保存,然后在下一个程序开始时通过将 a 包裹 a 来恢复ObjectInputStreamFileInputStream

在 Web 上搜索Java 数据持久性以找到许多持久化数据的方法,包括我的建议的替代方法和大量教程代码。

于 2013-10-01T03:57:17.973 回答
0

问题不清楚。如果要保持阵列运行,请运行程序。最好是一个多线程程序,其中一个线程处于永无止境的循环中。但是,如果您想持久添加数据库。

于 2013-10-01T03:57:10.707 回答
0

如果我正确理解了您的问题并且我的猜测是正确的:

保持程序运行您可以使用 while 循环,直到您的命令等于“退出”或其他内容,例如

while(command.compareTo("quit")!=0) {
      //your code here
}

这样,您的程序将一直运行,直到您输入 quit 以终止它。

您可以将数组中的数据写入 txt 文件,并在每次程序启动时加载它。这样,您将保留数据。

于 2013-10-01T04:04:48.340 回答
-2

为您的 ArrayList 使用私有实例变量,以便您的程序在您的方法终止后跟踪它。

你可以这样声明:

private ArrayList nameOfYourList;
于 2013-10-01T03:56:54.863 回答