0

所以我今天整天都在努力创建一个名为“Sport”的类的实例。我已经设置好我的代码,所以我运行用户界面,然后运行一个构造函数,然后运行另一个构造函数,该构造函数从文本文件加载运动值。

问题是,我显然创建对象的方式是错误的。真的可以使用一些帮助。

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();

    String[] sportDetailz;
    sportDetailz = new String[vlength];    
    sportDetailz[0] = sportDetails[0]; //name
    sportDetailz[1] = sportDetails[1]; //usage fees
    sportDetailz[2] = sportDetails[2]; //insurance
    sportDetailz[3] = sportDetails[3]; //afflcationfees

    String vSportObjectName;
    vSportObjectName = sportDetails[0];

    String sportinstance;
    sportinstance = sportDetails[0]; //this is the name of the sport which I'm hoping each loop around 
    //it will give a new name to
    Sport sportinstance = new Sport(sportDetails); 
   //System.out.println(Sport.this.name);

}

错误信息:variable sportinstance is already defined in method seperateValues(java.lang.String)

http://puu.sh/2zil9

4

2 回答 2

3

我猜你的问题是你首先声明sportinstanceString. 然后,您尝试再次将其定义为Sport.

只需删除以下行并重试(因为看起来它们实际上并未在其他任何地方使用):

String sportinstance;
sportinstance = sportDetails[0];

另一种选择是简单地重命名您的任一实例sportinstance

于 2013-04-13T15:27:53.973 回答
1

您试图定义sportinstance为两种不同的数据类型,而 Java 不允许这样做。Sport将定义的名称更改sportinstance为另一个变量名称或删除定义。

于 2013-04-13T15:28:41.523 回答