2017-06-12 112 views
0

我正在處理將數據存儲在用戶的數組中並輸出該數據的程序。將數據存儲在數組中並輸出該數據

例如:

輸入:

Happy [email protected] 

輸出:

NAME: Happy   
EMAIL: [email protected] 

我希望有人能看看我這麼遠,並給我一個指針如何繼續。我知道我必須使用掃描儀類和scan.nextLine,我不確定接下來會發生什麼。我知道我沒有太多,我不想找人來完成這個,但也許有人可以給我一些指點或指引我朝着正確的方向。我相信我的計劃有正確的基礎。

到目前爲止我的代碼:

import java.util.ArrayList; 
    import java.util.Scanner; 

    public class Program5 { 

     void loadContacts() 
     { 
     Scanner scan = new Scanner(System.in); 
     System.out.println(scan.nextLine()); 

     scan.close(); 
     } 

     void printContacts() 
     { 

     } 

    public static void main(String[] args) { 
     // TODO Auto-generated method stub 

     Program5 program5 = new Program5(); 
     program5.loadContacts(); 
     program5.printContacts(); 

    } 

} 
+0

「*我現在失去了。*」 - 在哪裏以及如何。請提供更多關於你在找什麼的細節。 – hagrawal

+0

將您掃描的任何內容存儲在類級別數組中。然後遍歷數組中的項目並根據您的要求添加「NAME」或「EMAIL」。您可能需要爲字符串添加驗證,但最終會將其驗證。 –

+0

開始嘗試將從nextLine中讀取的字符串存儲到變量中,並將文本分成兩部分(名稱和電子郵件)。 – freedev

回答

0

更好的名字的類「人」或類似這樣的,但沒關係瞭解釋:

public class Program5 { 
    private String name; 
    private String mail; 

    public Program5(){} 

    void loadContacts(){ 
     Scanner scan = new Scanner(System.in); 
     System.out.println("Please enter a name and a mail like this : name [email protected] (separate with ' ')"); 
     String[] line = scan.nextLine().split(" "); 
     while(line.length!=2){ 
      System.out.println("Again, enter a name and a mail like this : name [email protected] (separate with ' ')"); 
      line = scan.nextLine().split("/"); 
     } 
     this.setName(line[0]); 
     this.setMail(line[1]); 
     scan.close(); 
    } 

    void printContacts() { 
     System.out.println("NAME : "+this.name+"\nEMAIL : "+this.mail); 
    } 

    public static void main(String[] args) { 
     Program5 program5 = new Program5(); 
     program5.loadContacts(); 
     program5.printContacts(); 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public void setMail(String mail) { 
     this.mail = mail; 
    } 
} 

load你問用戶,檢查它是否輸入由'/'分開的2個元素,如果是,則將它們存儲爲屬性以便能夠以其他方法獲取它們;)

+0

你是什麼意思與''分開。像例如'doc''[email protected]'? – Mike

+0

這是一個空間,就像你的INPUT例子一樣 – azro

0

你應該有一個全球性的varible存儲的名稱和電子郵件。嘗試在代碼的頂部添加這些行。之後public class Program5 {

private String Name, Email; 

您必須將此值設置爲void loadContacts()。分割你閱讀的字符串。

void loadContacts() 
{ 
    Scanner scan = new Scanner(System.in); 
    String input = scan.nextLine(); 
    String arr[] = input.split("\\s+"); 
    Name = arr[0]; 
    Email = arr[1]; 
    scan.close(); 
} 

最後在。

void printContacts() 
{ 
    System.out.println("NAME: " + Name + "\nEMAIL: " + Email); 
} 

下面是代碼運行過程中出現:http://ideone.com/mjyfHK

0

您可以執行各種各樣的東西。

  1. 您可以loadContacts()printContacts()靜態方法,也改變loadContacts(),以便它返回一個數組或者二維數組或無論你的選擇代表名字的電子郵件對。然後更改print Contacts()`接受該類型並遍歷該Array以打印出每個名稱/電子郵件對。這個解決方案有點多,但是你不需要在該類的主要方法中創建一個相同類的對象。

  • 你可以把你的方法,因爲他們,而是對程序類中創建一個新的領域,被稱爲contacts,這將是該類型的你選擇代表名稱/電子郵件對。您可以在loadContacts()中將項目添加到contacts並在printContacts()中遍歷它。那麼你不必在你的主要方法中改變任何東西。
  • 相關問題