2015-11-04 148 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