我现在真的陷入困境,我做错了什么。
我已经制作了这个程序,从文件中读取一些成员名和成员姓氏,并将其放入arraylist。
然后我制作了一个扫描仪,这样我就可以写一个名字和姓氏,并检查名字和姓氏是否包含在arraylist中。如果名字在arraylist中,那么我可以输入一个号码给那个人。 它正在运作,我输入的号码在arraylist中的正确位置。
但是下次我运行程序时,我选择了另一个人,它还没有保存arraylist中的值,我怎么能这样做?因此,每次运行程序时,它都会保存我输入的信息。
这是我一直在制作的代码,我是这方面的新手。
import java.util.*;
import java.io.*;
public class result
{
getList list = new getList();
Scanner input;
Scanner result;
PrintStream output;
public ArrayList<String> resultList = new ArrayList<String>(list.showListToArray());
public result() throws Exception
{
input = new Scanner(System.in);
result = new Scanner(System.in);
String name = input.next();
String lastName = input.next();
if(resultList.contains(name) && resultList.contains(lastName))
{
System.out.print(name + lastName + "Enter his result ");
String bestResult = result.next();
int position = resultList.indexOf(lastName)+1;
resultList.add(position, bestResult);
}
System.out.print(resultList);
}
}
答案 0 :(得分:1)
这是一个名为persistence的问题。这是一个非常简单的问题,在您的情况下,这是一个非常好的方式来进入练习。
您需要做什么
目前,您正在接收用户的输入,并将其添加到ArrayList
。这很好,但是当程序关闭时,您的ArrayList
将被垃圾收集器破坏,并且其中的数据将丢失。您需要做的是将这些值写入外部文件,我们将其称为test.txt
。
怎么做
原则很简单。您将内容写入要保留的文件,并在需要时阅读它们。
BufferedWriter writer = new BufferedWriter(new FileWriter(new File("test.txt")));
String stuffToWrite = "Hello";
writer.write(stuffToWrite);
writer.close();
现在,这会将"Hello"
打印到名为test.txt
的文件中。
阅读它也很直接。
BufferedReader reader = new BufferedReader(new FileReader(new File("test.txt")));
String content = reader.readLine();
// content now contains "Hello".