Java对象实例创建问题

时间:2013-04-13 15:25:49

标签: java bluej

所以我今天一直在努力创建一个名为'Sport'的类的实例。 我已经设置了代码,所以我运行了用户界面,然后运行一个构造函数,然后运行另一个构造函数,从文本文件中加载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

2 个答案:

答案 0 :(得分:3)

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

只需删除以下行并重试(因为它们看起来不像其他地方一样):

String sportinstance;
sportinstance = sportDetails[0];

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

答案 1 :(得分:1)

您正在尝试将sportinstance定义为两种不同的数据类型,Java不允许这样做。将Sport sportinstance定义的名称更改为其他变量名称或删除定义。