自动存储字符串数据以供以后在Java中使用

时间:2013-11-21 02:23:43

标签: java string input

我有一个使用字符串的基本用户输入和系统输出程序,并且在程序开始时它会询问用户的名字,它会在程序中保存为字符串变量。

Scanner input = new Scanner(System.in); 
System.out.println("Hello there! What's your name?");
String name = input.nextLine();

我想要的是程序将其收到的所有新名称保存在外部文件中(如 文本文件),每当输入名称时,它会检查它是否曾遇到过该名称。我想使用if / else语句让它显示不同的输出,具体取决于它之前是否看过该名称。我该如何完成这项工作?

如果这是一个基本问题(或者之前已经回答过),我表示道歉,但我对java相对较新,而且我无法找到解决方案。谢谢您的帮助! ^ - ^

1 个答案:

答案 0 :(得分:0)

我认为这个程序可能已经完成了你的要求

public static void main(String as[]) throws Exception{
int i=0;
File f1=new File("D:\\Name.txt");
FileWriter fw=new FileWriter(f1,true);
Scanner input = new Scanner(System.in); 
Scanner output=new Scanner(f1);
System.out.println("Hello there! What's your name?");
String name = input.nextLine();
if(!f1.exists()){
    f1.createNewFile();
}
else{
        while(output.hasNext()){
            String na=output.next();
            if(na.equals(name)){
                ++i;
                break;
            }
        }
        if(i==0)
            fw.write(name+" ");
        else{
            System.out.println("Please enter some different name");
        }

}
fw.close();
input.close();
output.close();

}