我有一个使用字符串的基本用户输入和系统输出程序,在程序开始时,它要求输入用户名,并将其保存为程序内的字符串变量。

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


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



我很抱歉,如果这是一个基本问题(或者以前已经回答过),但是我对java还是比较陌生,所以找不到解决方案。谢谢您的帮助! ^-^

最佳答案

我认为该程序可以满足您的要求

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();

}

10-07 16:22
查看更多