我有一个借款人类,它由一个名字组成,然后它还存储了一个充满该人借来的物品的数组列表。如何创建一个类的多个实例?
我希望能够从我的主要创建这个类的多个实例,然后能够访问它们来查看他们借用的项目。
我无法理解如何创建多个实例。我只是不断遇到覆盖借用课程的问题。
所以在下面的代码中,如果我创建newBorrower(“Tim”),然后addItem(“扳手”),然后去创建newBorrower(“john”),那么我覆盖newBorrower。
我希望能够根据用户输入创建多个借款人实例?
我试过保存整个借款人类。我不确定这是否会起作用,因为它不会排序,所以我不能添加多个名称或出现错误。
借款类
public class Borrower
{
protected String name;
protected String item;
ArrayList<String> itemList = new ArrayList<String>();
public Borrower()
{
}
public Borrower(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public void addItem(String item)
{
this.item = item;
itemList.add(item);
}
主类
public class WhoBorrowedIt
{
public static void main(String[] args)
{
ArraySortedList<String> borrowersList = new ArraySortedList<String>();
Borrower newBorrower = new Borrower();
Borrower otherBorrower = new Borrower();
Scanner inName = new Scanner(System.in);
Scanner inItem = new Scanner(System.in);
String item;
String name;
String menu;
int option;
menu = "Make a selection: " + "\n"
+ "1. Add Borrower" + "\n"
+ "2. Add Item Borrowed" + "\n"
+ "3. Remove Item Returned" + "\n"
+ "4. View Borrowers" + "\n"
+ "5. Exit";
do
{
Scanner in = new Scanner(System.in);
System.out.println(menu);
option = in.nextInt();
switch(option)
{
case 1: //create borrower
{
System.out.println("Enter Name");
name = inName.nextLine();
newBorrower = new Borrower(name);
borrowersList.add(newBorrower.getName());
break;
}
case 2: //add items
{
System.out.println("Enter item");
item = inItem.nextLine();
System.out.println("Who is borrowing");
name = inName.nextLine();
if(borrowersList.contains(name))
{
newBorrower.addItem(item);
}
else
{
newBorrower = new Borrower(name);
borrowersList.add(newBorrower.getName());
newBorrower.addItem(item);
}
}
}while(option != 5)
}
}
找出一个*数组*的时间。 – 2014-12-03 22:03:10
除了保留借款人名单的List,你可以保留一个'借款人'对象的List。所以当你问谁在借用某些东西时,你首先从该列表中获得该借用者对象,并将该项目添加到其“itemList”中 - 是否有帮助? – ochi 2014-12-03 22:05:15
其实,借款人的地图可能更合适。然后,每个借款人都可以通过名字插入到地图中。 – 2014-12-03 22:06:25