从ArrayList更改特定数据

时间:2015-11-04 17:02:15

标签: java arraylist

练习是为了为一个班级创建一个arraylist,用户可以输入" Guestnumber" +"访客姓名" +" Guestemail"。

在菜单中,您可以移除现有的"访客"所有信息。这是它的代码:(它的工作原理)

 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是get + set

的类

但是现在我遇到了改变现有Guest的问题,例如:

我要求输入Guestnumber或Guestname或Guestmail来更改它(我必须为所有3个人做)。所以我真的不知道如何改变它。我查看了Stackoverflow,谷歌等,但它只显示了如何使用List.set更改它们,但我不知道它是否适用于我的问题,因为我不知道如何使用它

1 个答案:

答案 0 :(得分: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;
  }
}