2

我正在尝试使用此方法创建“运动”类的两个实例。该方法传入一个数组,其中包含有关类的信息,然后将其发送到要创建的构造函数。

但是,我不确定如何在给定代码的情况下引用实例 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
 }
4

2 回答 2

1

如果您只想引用运动的两个实例,您可以简单地这样做:

Sport sport1 = new Sport(sportDetails);
Sport sport2 = new Sport(sportDetails);

然后简单地调用sport1orsport2当你想访问它们时,但是如果你想在 n 次运动中使用该方法 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
于 2013-04-13T16:28:46.530 回答
0

假设您的原始字符串sportDetail是“tennis,baseball”,然后它变成了一个包含 2 个术语的数组,例如sportDetails[0] = "tennis"and sportDetails[1] = "baseball",那么在您的班级中Sport,您只需要这样引用它们。

换句话说,sportDetails[0].

于 2013-04-13T16:26:14.373 回答