Java 访问ArrayList中的特定元素
我正在创建一个程序,将客人添加到聚会中。客人的最大数量设置为3人。我的程序正确地输出了3位来宾 但是,如何访问并打印出列表中未列出的元素 正如您在Party2Driver中看到的,我调用了我的“addGuest”方法5次。程序正确地将前3个名字添加到列表中,因为我将maxGuests设置为3。但如何输出未添加到列表中的最后两个姓名 我想让它读一些类似“空白和空白”的东西,因为客人名单已经满了,所以没有添加到列表中 每次我尝试使用“get方法”访问这些arraylist元素时,它都会抛出一个OutboundException 感谢您的帮助Java 访问ArrayList中的特定元素,java,class,methods,arraylist,indexoutofboundsexception,Java,Class,Methods,Arraylist,Indexoutofboundsexception,我正在创建一个程序,将客人添加到聚会中。客人的最大数量设置为3人。我的程序正确地输出了3位来宾 但是,如何访问并打印出列表中未列出的元素 正如您在Party2Driver中看到的,我调用了我的“addGuest”方法5次。程序正确地将前3个名字添加到列表中,因为我将maxGuests设置为3。但如何输出未添加到列表中的最后两个姓名 我想让它读一些类似“空白和空白”的东西,因为客人名单已经满了,所以没有添加到列表中 每次我尝试使用“get方法”访问这些arraylist元素时,它都会抛出一个Out
import java.util.ArrayList;
public class Party2Driver
{
public static void main(String[] args)
{
Party2 party = new Party2(3, "David Beckham");
party.addGuest("Roberto Baggio");
party.addGuest("Zinedine Zidane");
party.addGuest("Roberto Baggio");
party.addGuest("Johan Cruyff");
party.addGuest("Diego Maradona");
party.printParty();
} // end main
}//end Party2Driver
下面是Party 2课程和我的方法:
import java.util.ArrayList;
public class Party2
{
// instance variables that will hold your data
// private indicates they belong to this class exclusively
private int maxGuests;
private String host;
private ArrayList<String> guests;
//Constructor
public Party2(int maxGuests, String host)
{
System.out.println("Maximum number of guests: " + maxGuests + ". Guest list for " + host + "'s party. \n");
this.guests = new ArrayList<String>();
this.maxGuests = maxGuests;
this.host = host;
}
//getter
// define type of data to be returned
public String getHost()
{
System.out.println("Setting host to: " + host);
return host;
}
//setter
// setters have type void b/c they return nothing
public void setHost(String host)
{
System.out.println("Setting host to: " + host);
this.host = host;
}
//*************************************
//Method to add to guest list
public void addGuest(String guest)
{
if (guests.size() < maxGuests)
{
System.out.println("Guest: " + guest + "\n");
this.guests.add(guest);
}
else
{
System.out.println(" Guest cannot be added. Guest list is full. \n");
}//end if
}//end method
//*************************************
//Method to print party
public void printParty()
{
System.out.println("****************************************************\n");
System.out.println("Guest list for " +
this.host + "'s party is: \n\n" +
this.guests + ".\n");
} // end Print Party method
}//end class party
import java.util.ArrayList;
公共课第2部分
{
//将保存数据的实例变量
//private表示它们专门属于此类
私人客人;
私有字符串主机;
私人ArrayList宾客;
//建造师
公共部分2(int-maxGuests,字符串主机)
{
System.out.println(“最大来宾数:“+maxGuests+”。用于“+host+”的聚会的来宾列表。\n”);
this.guests=new ArrayList();
this.maxGuests=maxGuests;
this.host=host;
}
//吸气剂
//定义要返回的数据类型
公共字符串getHost()
{
System.out.println(“将主机设置为:“+host”);
返回主机;
}
//塞特
//setter具有类型void b/c,它们不返回任何内容
公共void setHost(字符串主机)
{
System.out.println(“将主机设置为:“+host”);
this.host=host;
}
//*************************************
//要添加到来宾列表的方法
公共void addGuest(字符串guest)
{
if(guests.size()
创建第二个名为rejectedGuests
的ArrayList,每当有客人被拒绝时,将其添加到该列表中。然后放置一个getter方法来检索列表。从这里开始,只需要一个简单的String.format()调用和一个println()语句。创建第二个ArrayList,称为类似于rejectedGuests的内容,并且每当拒绝一个来宾时,将其添加到该列表中。然后放置一个getter方法来检索列表。从这里开始,只需要一个简单的String.format()调用和一个println()语句。创建第二个ArrayList,称为类似于rejectedGuests的内容,并且每当拒绝一个来宾时,将其添加到该列表中。然后放置一个getter方法来检索列表。从这里开始,只需要一个简单的String.format()调用和一个println()语句。创建第二个ArrayList,称为类似于rejectedGuests的内容,并且每当拒绝一个来宾时,将其添加到该列表中。然后放置一个getter方法来检索列表。从这里开始,它只是一个简单的String.format()调用和一个println()语句。添加外部来宾字段:
private ArrayList<String> extraGuest;
private ArrayList extraGuest;
在addGuest(guest)方法的else块中添加extraGuest
import java.util.ArrayList;
public class Party2
{
// instance variables that will hold your data
// private indicates they belong to this class exclusively
private int maxGuests;
private String host;
private ArrayList<String> guests;
private ArrayList<String> extraGuest;
//Constructor
public Party2(int maxGuests, String host)
{
System.out.println("Maximum number of guests: " + maxGuests + ". Guest list for " + host + "'s party. \n");
this.guests = new ArrayList<String>();
this.extraGuest = new ArrayList<String>();
this.maxGuests = maxGuests;
this.host = host;
}
//getter
// define type of data to be returned
public String getHost()
{
System.out.println("Setting host to: " + host);
return host;
}
//setter
// setters have type void b/c they return nothing
public void setHost(String host)
{
System.out.println("Setting host to: " + host);
this.host = host;
}
//*************************************
//Method to add to guest list
public void addGuest(String guest)
{
if (guests.size() < maxGuests)
{
System.out.println("Guest: " + guest + "\n");
this.guests.add(guest);
}
else
{
extraGuest.add(guest);
System.out.println(" Guest cannot be added. Guest list is full. \n");
}//end if
}//end method
//*************************************
//Method to print party
public void printParty()
{
System.out.println("****************************************************\n");
System.out.println("Guest list for " +
this.host + "'s party is: \n\n" +
this.guests + ".\n");
System.out.println(extraGuest+"weren't added to the list because the guest list is full");
} // end Print Party method
}//end class party
import java.util.ArrayList;
公共课第2部分
{
//将保存数据的实例变量
//private表示它们专门属于此类
私人客人;
私有字符串主机;
私人ArrayList宾客;
私人ArrayList extraGuest;
//建造师
公共部分2(int-maxGuests,字符串主机)
{
System.out.println(“最大来宾数:“+maxGuests+”。用于“+host+”的聚会的来宾列表。\n”);
this.guests=new ArrayList();
this.extraGuest=new ArrayList();
this.maxGuests=maxGuests;
this.host=host;
}
//吸气剂
//定义要返回的数据类型
公共字符串getHost()
{
System.out.println(“将主机设置为:“+host”);
返回主机;
}
//塞特
//setter具有类型void b/c,它们不返回任何内容
公共void setHost(字符串主机)
{
System.out.println(“将主机设置为:“+host”);
this.host=host;
}
//*************************************
//要添加到来宾列表的方法
公共void addGuest(字符串guest)
{
if(guests.size()
添加外部来宾字段:
private ArrayList<String> extraGuest;
private ArrayList extraGuest;
在addGuest(guest)方法的else块中添加extraGuest
import java.util.ArrayList;
public class Party2
{
// instance variables that will hold your data
// private indicates they belong to this class exclusively
private int maxGuests;
private String host;
private ArrayList<String> guests;
private ArrayList<String> extraGuest;
//Constructor
public Party2(int maxGuests, String host)
{
System.out.println("Maximum number of guests: " + maxGuests + ". Guest list for " + host + "'s party. \n");
this.guests = new ArrayList<String>();
this.extraGuest = new ArrayList<String>();
this.maxGuests = maxGuests;
this.host = host;
}
//getter
// define type of data to be returned
public String getHost()
{
System.out.println("Setting host to: " + host);
return host;
}
//setter
// setters have type void b/c they return nothing
public void setHost(String host)
{
System.out.println("Setting host to: " + host);
this.host = host;
}
//*************************************
//Method to add to guest list
public void addGuest(String guest)
{
if (guests.size() < maxGuests)
{
System.out.println("Guest: " + guest + "\n");
this.guests.add(guest);
}
else
{
extraGuest.add(guest);
System.out.println(" Guest cannot be added. Guest list is full. \n");
}//end if
}//end method
//*************************************
//Method to print party
public void printParty()
{
System.out.println("****************************************************\n");
System.out.println("Guest list for " +
this.host + "'s party is: \n\n" +
this.guests + ".\n");
System.out.println(extraGuest+"weren't added to the list because the guest list is full");
} // end Print Party method
}//end class party
import java.util.ArrayList;
公共课第2部分
{
//将保存数据的实例变量
//private表示它们专门属于此类
私人客人;
私有字符串主机;
私人ArrayList宾客;
私人ArrayList extraGuest;
//建造师
公共部分2(int-maxGuests,字符串主机)
{
System.out.println(“最大来宾数:+ma