gpt4 book ai didi

java - Java 和 StringTokenizer 中对象数组的输入/输出

转载 作者:行者123 更新时间:2023-12-01 23:47:35 26 4
gpt4 key购买 nike

我有一个问题,但我不太确定它在哪里。我正在从文本文件中读取数据,具体来说是 NRL 团队数据。数据以逗号分隔,数据为:俱乐部名称、俱乐部吉祥物、俱乐部别名。大概有 20 行左右。

我需要依赖类,并将类实例化为对象数组。 Club 类包含俱乐部名称、俱乐部吉祥物、俱乐部别名。

当我尝试将clubArray数组中的俱乐部对象的“alias”字段中的数据打印到屏幕上时,它只打印“wests”,即数据文件中的最后一个条目。

我已经注释掉了它的 setTeamName 和 setClubMascot 位,因为我收到了错误,但是,代码应该仍然可以工作并将每个标记放入别名数据字段中,不是吗?

如果有人能指出我做错了什么,我将不胜感激。我不确定问题是否在于将其写入数组以从数组中获取它或介于两者之间。

public static void loadData(Club[] clubArray) throws FileNotFoundException
{
int i = 0;
File myfile = new File("NRLclubs.txt");
if(myfile.exists())
{
Scanner inputFile = new Scanner(myfile);

// Read until the end of the file.
while (inputFile.hasNext())
{
clubArray[i] = new Club();
String line = inputFile.nextLine();
StringTokenizer strToken = new StringTokenizer(line, ",");

while(strToken.hasMoreTokens())
{
/*String teamToken = strToken.nextToken();
Club.setTeamName(teamToken);

String mascotToken = strToken.nextToken();
Club.setClubMascot(mascotToken);
*/

String aliasToken = strToken.nextToken();
Club.setClubAlias(aliasToken);
}
//System.out.println(Club.getClubAlias());
i++;
}
inputFile.close();

int k = 0;
while(k < i)
{
Club.displayClubAlias(clubArray[k]);
k++;
}

}
else
System.out.println("The file was not found");
}

这些是我的 setter、getter 和 displayClubAlias 方法:

 public static void setClubAlias(String alias)
{
clubAlias = alias;
}

public String getClubAlias()
{
return clubAlias;
}

public static void displayClubAlias(Club c)
{
System.out.println(c.getClubAlias());
}

最佳答案

您混淆了实例字段(方法)静态字段(方法)

// in class Club
public String clubAlias; // no static
public void setClubAlias(String alias) // no static
{
clubAlias = alias;
}

// in method loadData
clubArray[i].setClubAlias(aliasToken); // not Club

关于java - Java 和 StringTokenizer 中对象数组的输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16806906/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com