这是第一个代码:
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 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,"Enter Name:");
int age = Integer.parseInt(JOptionPane.showInputDialog(null,"Enter Age:"));
list.add(new Person(name,age));
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
if(!list.isEmpty()){
for(int i=0;i
listing+=list.toString();
JOptionPane.showMessageDialog(null,listing);
}
}else{
JOptionPane.showMessageDialog(null,"ERROR","", JOptionPane.WARNING_MESSAGE);
}
break;
case 6:
break;
case 7:
break;
}
}while(choice!=7);
}
}
很抱歉,如果我不清楚我的问题,但我想使用ArrayList,其中将ArrayList存储在Person类中,并且想使用公共String toString进行查看,以便显示名称和年龄
解决方法:
使用list.get(index)方法从列表中获取Person对象,然后进行串联.
我想,一旦获得了所有人员信息,就想展示出来.因此,取出JOptionPane.showMessageDialog(null,listing);从for循环.否则,像现在一样,将其保留在循环中.
for(int i=0;i
listing += list.get(i).toString() + "\n"; // get the i Person instance from list and call toString()
}
JOptionPane.showMessageDialog(null,listing);
您正在使用运算符进行字符串连接.您还可以使用StringBuilder类将列表中的所有Person信息附加到后面.
标签:arraylist,java
来源: https://codeday.me/bug/20191027/1944938.html