2015-11-04 146 views
-1

練習是爲一個類創建一個數組列表,其中用戶可以輸入「Guestnumber」+「Guestname」+「Guestemail」。更改ArrayList中的特定數據

在菜單中,您可以刪除包含所有信息的現有「訪客」。這就是它的代碼:(它的工作原理)

public void gastAendern() { 
    System.out.println("Guestnumber to delete:"); 
    Scanner sc = new Scanner(System.in); 
    String input = sc.next(); 
    for (Gast test : verwaltungG) { 
     int nummer = Integer.parseInt(input); 
     if (test.getgNr() == nummer) { 
     verwaltungG.remove(test); 
      a = 1; 
      break; 
     } 
     } 
     if(a==0) { 
      System.out.println("Guestnumber is not used"); 

verwaltungG是ArrayList的

Gast是獲取類+設置

但現在我必須改變現有的客戶,像一個問題例如:

我要求鍵入Guestnumber或Guestname或者Guestmail來改變它(我必須爲所有3做)。所以我真的不知道如何改變它。我查看了Stackoverflow,google等,但它只顯示如何使用List.set更改它們,但我不知道它是否適用於我的問題,因爲我不知道如何使用它。

回答

0

你可以做同樣的事情,你正在做的,而不是remove進行刪除, - 你需要改變你需要更新的細節:

System.out.println("Guestnumber to update :"); 
Scanner sc = new Scanner(System.in); 
String input = sc.next(); 
for (Gast test : verwaltungG) { 
    int nummer = Integer.parseInt(input); 
    if (test.getgNr() == nummer) { 
    System.out.println("Enter new guest name for guest number : "+nummer); 
    String name = sc.nextLine(); 
    System.out.println("Enter new guest email for guest number : "+nummer); 
    String email = sc.nextLine(); 


    // now update the details 
    test.setName(name); 
    test.setEmail(email); 
    break; 
    } 
} 
+0

神聖它的工作,非常感謝你Abubakkar Rangara :) – bubele1