Это первый код, который является лицо Класс:Использование индекса в ArrayList для редактирования объекта
public class Person {
private int age;
private String name;
public Person(String name,int age){
this.age = age;
this.name = name;
}
public void setName(String name){
this.name = name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public String getName(){
return name;
}
public String toString(){
return name+","+age;
}
}
Тогда это главный класс, в котором он будет показывать выход:
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class PersonDatabase {
public static void main(String[] args) {
ArrayList<Person> list= new ArrayList<>();
Person p = new Person("",0);
int choice =0;
String listing ="";
do{
choice=Integer.parseInt(JOptionPane.showInputDialog(null,"\nChoices:"+"\n[1]Add"+"\n[2]Edit"+"\n[3]Delete"+"\n[4]Search"+"\n[5]View"+"\n[6]Sort"+"\n[7]Exit"+"\nEnter Choice:"));
switch(choice){
case 1:
String name = JOptionPane.showInputDialog(null,"\nEnter Name:");
int age = Integer.parseInt(JOptionPane.showInputDialog(null,"\nEnter Age:"));
list.add(new Person(name,age));
break;
case 2:
try{
int index = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter index value:"));
name = JOptionPane.showInputDialog(null,"Enter Name:");
age = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter Age:"));
list.set(index,name,age);
}catch(IndexOutOfBoundsException e){
JOptionPane.showMessageDialog(null,"Invalid Index");
}
break;
case 3:
break;
case 4:
break;
case 5:
if(!list.isEmpty()){
for(int i=0;i<list.size();i++){
listing+=list.get(i).toString()+"\n";
}
JOptionPane.showMessageDialog(null,listing);
}else{
JOptionPane.showMessageDialog(null,"ERROR","", JOptionPane.WARNING_MESSAGE);
}
break;
case 6:
break;
case 7:
break;
}
}while(choice!=7);
}
}
как вы используете индекс, чтобы вы могли искать введенный вами объект, а затем редактировать его, используя list.set()
вы не должны добавлять код из ответов на OP. Это смутит будущих читателей этой должности. – YoungHobbit