問題がありますが、どこにあるのかよくわかりません。具体的には、NRLチームのデータであるテキストファイルからデータを読み取っています。データはコンマで区切られ、データは次のとおりです: クラブ名、クラブ マスコット、クラブ エイリアス。これが20行ほどあります。
クラスに依存し、クラスをオブジェクトの配列にインスタンス化する必要があります。クラス Club には、クラブ名、クラブ マスコット、クラブ エイリアスが含まれます。
clubArray 配列の club オブジェクトの「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");
}
そして、これらは私のセッター、ゲッター、および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());
}