我正在尝试使用此方法创建“Sport”类的两个实例。该方法传入一个数组,该数组包含有关该类的信息,然后将该信息发送给要创建的构造函数。
但是,我不确定如何根据我的代码引用实例1或2。
public static void seperateValues(String sportDetail) {
String[] sportDetails = sportDetail.split(",");
System.out.println("Adding new sport to the Sport collection");
System.out.println(sportDetail);
/*
for(int i=0; i<sportDetails.length; i++) //just used for testing whether it was splitting correctly {
System.out.println(sportDetails[i]);
}*/
//name,usagefee,insurance,affiliationfees, then court numbers
//Tennis,44,10,93,10,11,12,13,14,15,16
int vlength;
vlength = sportDetail.length();
new Sport(sportDetails); //this static methods loops twice, giving tennis and baseball
System.out.println(name); //this lists tennis and baseball respectively
}
答案 0 :(得分:1)
如果你只是想参考两个运动实例,你可以这样做:
Sport sport1 = new Sport(sportDetails);
Sport sport2 = new Sport(sportDetails);
然后只需在您想要访问它们时调用sport1
或sport2
,但是如果您想多次使用该方法进行n次运动,您可以执行以下操作:
首先更改separateValues()
方法以返回一项运动,方法是更改以下几行:
public static void seperateValues(String sportDetail) {
到
public static Sport seperateValues(String sportDetail) {
在方法结束时,让它返回一项运动,如下所示:
Sport sport = new Sport(sportDetails);
return sport;
然后你可以在循环中调用方法并创建一个列表,这样你就可以创建所需数量的运动:
//First declare a list of sports:
List<Sport> sports = null;
for (int i = 0; i<asManySportsAsYouWantToAdd; i++){
sports.add(separateValues(sportDetail));
}
然后,要访问每项运动,您可以简单地使用:
sports.get(n); //Where n is place of the sport on the list
答案 1 :(得分:0)
假设你的原始字符串sportDetail
是“网球,棒球”,然后变成2个术语的数组,例如sportDetails[0] = "tennis"
和sportDetails[1] = "baseball"
,然后在你的班级{{1你只需要引用它们就可以了。
换句话说,Sport
。