2013-04-13 56 views
2

我试图让这种方法来创建类'运动'的两个实例。该方法传入一个数组,其中包含有关该类的信息,然后将该数据发送给要创建的构造函数。如何从数组创建多个Java对象实例?

但是,我不确定如何引用实例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

“'//这个静态方法循环两次,给网球和棒球'”,你的意思是'seperateValues()'方法在其他地方被循环调用吗? –

+0

哪个是你在评论中谈论的静态方法? –

+1

如果所有这些方法最后都会创建一个对象,为什么不让它返回这个对象,以便随后可以将它引用到它所在的位置? –

回答

1

如果你只是想指运动的两个实例,你可以简单地这样做:

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

,然后简单地调用sport1sport2当你想访问他们,但是如果你想使用次运动的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 
+1

正是我的意思。 +1 –

0

假设你的原始字符串sportDetail是“网球,棒球”,然后变成了2个方面的阵列,如sportDetails[0] = "tennis"sportDetails[1] = "baseball",然后在您的类Sport你只需要引用它们的方式。

换句话说,sportDetails[0]

相关问题