2014-09-26 62 views
1

任何人都可以幫助我嗎? 我正在完成這項任務,我幾乎完成了我的代碼,除了我不知道如何通過輸入姓名來搜索客戶列表。 !如何使用掃描儀在java中搜索客戶列表:

  • 獲取客戶列表從文件
  • 客戶包含姓,名和電子郵件地址
  • 排序名單按姓氏
  • 在列表中找到一個給定的名稱
  • 列表項

    import java.util.*; 
    import java.io.*; 
    
    public class computer { 
    
    
    public static void main(String args[]){ 
        Scanner console = new Scanner(System.in); 
    
        //create a file named myFile.txt 
        createFile object1 = new createFile(); 
        object1.openFile(); 
        object1.addRecords(); 
        object1.closeFile(); 
    
        //This code reads the File and outputs it on the screen 
        System.out.println("-----------------------------------------------------------------------"); 
        System.out.println("This is the list of customers being read from a file called myFile.txt "); 
        System.out.println("-----------------------------------------------------------------------"); 
        readFile r = new readFile(); 
        r.openFile(); 
        r.readfile(); 
        r.closeFile(); 
    
    
        LinkedList<customers> list = new LinkedList<customers>(); 
        try 
        { 
         Scanner file = new Scanner(new File("myFile.txt")); 
         while(file.hasNext()) 
         { 
         String name = file.next(); 
         String lname = file.next(); 
         String email = file.next(); 
         list.add(new customers(name,lname, email)); 
         } 
        } 
        catch (Exception e) { 
         // TODO: handle exception 
        } 
        Collections.sort(list,new Mycustomers()); 
        System.out.println("This is the list of customers sorted by their last names: "); 
        System.out.println("--------------------------------------------------------------"); 
        System.out.println(); 
        for(customers cu:list){ 
         System.out.println(cu); 
        } 
    
+1

您需要搜索哪些客戶?他們是否相同從文件讀取,或者用戶指定要搜索哪些客戶?你被困住的問題有兩個部分。一個是獲取名稱來搜索。這部分可以使用'掃描儀'。另一個實際上是執行搜索。這不應該使用'掃描儀'。 – 2014-09-26 18:04:35

回答

1

從你如何打印列表開始,而是打印每一個,首先將每個名稱與你正在查找的名稱進行比較(如果沒有關於customers的更多詳細信息,則不能提供更多詳細信息);如果它匹配,做任何你需要做的和循環。

要什麼名字讀來搜索,我要重複一下user3567040說:

Scanner s = new Scanner(System.in); 
String name =s.nextLine(); 

(儘管你可能需要2 Strings:一爲頭名,而另一個用於最後

+0

這是我打印客戶列表的方式,客戶列表可以是任意3個隨機人員。這是代碼............ public String toString(){ return「First Name:」+ this.name +「\ nLast Name:」+ this.lastName +「\ nEmail:」+ this.email + 「\ n」 個; } – HenryDev 2014-09-26 17:53:35

+0

但如何搜索:( – HenryDev 2014-09-26 17:55:46

+0

我想我需要使用掃描儀,但我不知道如何 – HenryDev 2014-09-26 17:58:11

0

您可以使用HashTable或HashMap作爲第一個+姓氏的哈希值並根據輸入的給定名稱的哈希值進行搜索

+0

I需要使用掃描儀,但我不知道如何 – HenryDev 2014-09-26 17:57:54

+0

沒有解決如何讓他們*在*那裏,他們已經在列表中的問題 – 2014-09-26 18:05:20

+0

客戶在列表中,但我需要允許用戶鍵入客戶的名稱,例如邁克爾懷特...以及如何做到這一點?繼承人我的整個代碼的鏈接http://pastebin.com/yArT5ww9 – HenryDev 2014-09-26 18:09:33