这是第一个代码:
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,"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<list.size();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类中,我想使用公共字符串toString查看它,这样它将显示名称和年龄
看来问题出在你的案例5:代码上。
试试看
case 5:
if(!list.isEmpty()){
for(int i=0;i<list.size();i++){
listing+=list.get(i).toString();
JOptionPane.showMessageDialog(null,listing);
}
}else{
JOptionPane.showMessageDialog(null,"ERROR","",
JOptionPane.WARNING_MESSAGE);
}
break;
注意List.Get(i).ToString()而不是List.ToString()
使用list.Get(index)
方法从列表中提取Person
对象,然后进行级联。
我猜,一旦你得到了所有的人物信息,然后你想要展示。因此,从for循环中取出joptionpane.showMessageDialog(null,listing);
。否则,将其保留在循环中,就像您当前所做的那样。
for(int i=0;i<list.size();i++){
listing += list.get(i).toString() + "\n"; // get the i Person instance from list and call toString()
}
JOptionPane.showMessageDialog(null,listing);
您正在使用+
运算符执行string
级联。还可以使用StringBuilder
类从列表中追加所有人员信息。
viewgridobject.java
好的,在做任何事情之前,我想提一下,这是为学校准备的,所以请不要编写任何代码来修复我的代码,因为这不会教我任何东西。相反,如果我使用了不正确的术语,我需要的是参考、解释和适当的术语。 所以我这里有一些问题。这是我需要做的, *在学生类中包括以下方法:a.第B1部分中每个实例变量的访问器(即getter)b.第B1部分中每个实例变量的mutator(即setter) 注意:对Student类的实例变
我是java新手,我正试图编写我的第一个“更大”的程序,包含几个类。我在类“CompetitionProgram”中创建了一个ArrayList并将其声明为private。 我的程序中需要这两个类(Event&ListOfEvents),这是需求之一。事件--它只是表示事件本身,比如事件名称和尝试次数(它是一个体育事件)。和ListOfEvents--它表示列表本身,并包含用于添加事件、删除事件和
问题内容: 我想将数据存储在ArrayList中并在另一个类中访问它,但是当我访问时,它是0。意味着我没有访问相同的arraylist。有人告诉我我做错了。 这是我的POJO课 这是我将数据存储在 A类中的方法 , 该类 已经过检查,已成功将其插入到arraylist中。 A级 问题出在 B类中, 当我访问它的返回值0时,意味着我没有访问相同的arraylist。 这是我在 B类中* 所做的 *
我需要检查一个arraylist中的任何值是否存在于另一个arraylist中: 它打印“它不包含”。我需要知道是否有方法比较这两个arraylist,如果其他arraylist中存在任何值,它应该返回。我知道迭代可以有所帮助。有什么简单的方法可以做到这一点吗?
我已经阅读了很多stackoverflow的页面,但是我无法将我的ArrayList复制到另一个类中。下面是一个场景,我正在构建一个快速的图书储蓄应用程序,类似于图书馆中的应用程序,但更简单(用于学校)。 我有我的主库类(带有main),它为主菜单/选项设置了swing。 我有一个带有新书构造函数的book类,如下所示: 在这个类中,我在确认按钮上添加了一个,以确认上要作为对象添加的输入,如下所示