最近學java有一題想破頭都不會!!! 有請java的高人幫忙!

從java建立一個檔案XXX.txt
我已經會建立檔了
範例:FileReader read=new FileReader("XXX.txt"); //NEW一個新檔
建立的XXX.txt裡面有10個英文人名(annine,Mike...等等)


然後問題來了,從螢幕打一串英文名子.XXX.txt裡面若有存在我打的英文名子
就顯示驗證通過!反之驗證錯誤!
[就是這裡我一直找了一堆網路找不到要打什麼樣的程式讓java讓他判斷我打出來這個英文人名是否存在在 XXX.txt]

我只知道是有要打
System.out.println("驗證通過")
System.out.println("驗證錯誤")

學不會就等於學到這卡關了...
文章關鍵字
tymy6610 wrote:
[就是這裡我一直找了一堆網路找不到要打什麼樣的程式讓java讓他判斷我打出來這個英文人名是否存在在 XXX.txt]...(恕刪)

1.
先讀入一個人名
判斷是否驗證通過

重覆上列動作 直到檔案結束
2.
也可以全部讀入記憶體
再判斷
第一 你的 "XXX.txt" 內容是怎麼排列, 每個人名是用甚麼做分隔,
這個蠻重要的 , 因為你才知道要怎麼取出人名.

第二 把檔案內容讀出來 例如用 FileReader ,
因為你要比的是人名, 所以是字串 , 可用陣列接或用MAP接.

第三 在把你螢幕輸的字串 , 與剛剛丟進陣列或MAP的字串一一比較 , 這樣就會有結果了.


只能給你方向,每個人方法不同, 加油加油~
臨時用emeditor打上來的
未經compiler過,只是大概流程
僅供參考,不負任何作業責任…


import java.io.*;
class FileReaderDemo {
public static void main(String args[]) throws Exception {

//讀入輸入
Scanner scanner = new Scanner(System.in);
System.out.print("Please input your name: ");

//寫入檔案
FileWriter _fw = new FileWriter("123.txt");
_fw.write("annine,Mike");
_fw.close();

//讀取檔案
FileReader _fr = new FileReader("123.txt");
BufferedReader _br = new BufferedReader(_fr);

String s;
while((s = _br.readLine()) != null) {
//使用「,」進行切割
String[] names = s.split(",");
for(String name:names){
//比對scanner輸入的名字,是否與檔案裡的符合
if name.equals(scanner.next()){
System.out.println(name+":驗證通過!");
else
System.out.println(name+":驗證錯誤");
}
}
}
_fr.close();
}
}
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!