我有一个使用字符串的基本用户输入和系统输出程序,在程序开始时,它要求输入用户名,并将其保存为程序内的字符串变量。
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();
}