我正在尝试创建一个基于控制台的简单应用程序,客户参与其中,我正在考虑为每个访问的客户创建一个对象。 所以我想创建一个对象数组,但我必须提前预先创建的对象数量如何动态地动态获取具有新名称的新对象
import java.io.Console;
import java.io.IOException;
import java.util.Scanner;
public class RentACarMain {
public static void main(String[] args)
{
int j=0,i,ch=0,inp;
Scanner sc=new Scanner(System.in);
CustomerDetails[] cd=new CustomerDetails[101];
for(i=0;i<100;i++)
{
cd[i]=new CustomerDetails();
}
do
{
System.out.println("Enter 1 to add new customer details");
System.out.println("enter 2 to display details customers");
System.out.println("press 3 exit");
System.out.println("enter your choice");
ch=Integer.parseInt(sc.next());
sc.nextLine();
switch(ch)
{
case 1:
j=j+1;
System.out.println("enter customer name..");
String cust_name_main=sc.nextLine();
e[j].setCust_name(cust_name_main);
System.out.println("enter customer id");
String c_id=sc.nextLine();
e[j].setLicense_num(c_id);
break;
case 2:
e[j].display();
}
}while(ch!=3);
}
}
现在我不知道将要访问的客户数量......所以有没有选择动态获取同一类的新不同对象
答案 0 :(得分:0)
您需要更具动态性的集合,例如ArrayList:
ArrayList<CustomerDetails> cd = new ArrayList<CustomerDetails>();
然后你可以添加你想要的任意数量的元素:
cd.add(new CustomerDetails());
cd.add(new CustomerDetails());
正如您所看到的,ArrayList
在常规数组的语法上有所不同。比如,要在特定位置获取元素,例如,您不会执行cd[7]
,而是执行此操作:
cd.get(7);
Here are some more examples关于如何使用ArrayList,包括如何迭代它们。