Java 为添加到ArrayList的对象生成编号
我已经创建了一个ArrayList,我想在其中根据用户输入为事件添加参与者。每一个加入的参与者将自动获得一个起始号码,第一个参与者将获得号码100。对于每增加一名参与者,开始人数将增加一名(101、102、103等),有何建议 这是到目前为止我的代码:Java 为添加到ArrayList的对象生成编号,java,arraylist,Java,Arraylist,我已经创建了一个ArrayList,我想在其中根据用户输入为事件添加参与者。每一个加入的参与者将自动获得一个起始号码,第一个参与者将获得号码100。对于每增加一名参与者,开始人数将增加一名(101、102、103等),有何建议 这是到目前为止我的代码: public void addParticipant() { int startNumber = 100; System.out.println("First name: "); String name = readS
public void addParticipant() {
int startNumber = 100;
System.out.println("First name: ");
String name = readString();
System.out.println("Last name: ");
String lastName = readString();
System.out.println("Team: ");
String team = readString();
allParticipants.add(new Participant(name, lastName, team, startNumber));
System.out.println(name + " " + lastName + " from " + team + " with number " + startNumber + " added \n");
将startNumber存储为实例变量,而不是函数中的局部变量。在添加新参与者后增加变量
private int startNumber = 100;
public void addParticipant(){
// Assign the startNumber to the new participant.
startNumber++;
}
有两种简单的方法可以做到这一点 第一种方法:不要将参与者编号存储在局部变量中,而是将其存储在字段(实例变量)中,并在每次添加新参与者时将其递增一。我会是这样的:
public class SomeClass {
private int startNumber = 100;
// any other code in the class...
public void addParticipant() {
System.out.println("First name: ");
String name = readString();
System.out.println("Last name: ");
String lastName = readString();
System.out.println("Team: ");
String team = readString();
allParticipants.add(new Participant(name, lastName, startNumber));
System.out.println(name + " " + lastName + " from " + team + " with number " + startNumber + " added \n");
// Increment field startNumber
startNumber = startNumber + 1;
}
}
第二种方式:使用ArrayList的大小作为计数器。这就是我的意思:
public class SomeClass {
// any other code in the class...
public void addParticipant() {
int startNumber = allParticipants.size() + 100;
System.out.println("First name: ");
String name = readString();
System.out.println("Last name: ");
String lastName = readString();
System.out.println("Team: ");
String team = readString();
allParticipants.add(new Participant(name, lastName, startNumber));
System.out.println(name + " " + lastName + " from " + team + " with number " + startNumber + " added \n");
}
}
快乐编码 只需使用
allParticipants
的大小,并将其添加到startNumber
?有许多可能实现这一点的实现。