.txt ファイルを読み込もうとしています。5 行のテキストごとに、そのうちの 2 つから情報を取得し、それを Item というクラスに格納し、次の 5 行についても同じことを行います。
そして、5 行目ごとに、その Item オブジェクトを、Item オブジェクトのリンク リストを保持する Inventory という名前の一時オブジェクトに保存します。
次に、この一時データを関数に渡し、それに応じてマスター リストを更新します。
では、文字列トークナイザーを使用してこれを行うにはどうすればよいでしょうか? 私はすでに何かを実装しています。以下のコードはベアボーン/疑似コードです。コードには質問があります。それが私の主な質問です。
InvObject には、Item オブジェクトのリンク リストがあります。
コード:
InvObject temp = new InvObject();
int i = 0;
Item holdIt = null;
while (in.hasNextLine())
{
i %= 5;
if(i == 3 || i == 4)
{
String line = in.nextLine();
StringTokenizer tkner = new StringTokenizer(line);
if(i == 3)
{
int z = 0;
Item it = new Item();
while (tkner.hasMoreTokens())
{
String token = tkner.nextToken("$");
if(z == 1) // 2nd token of 3rd line is price
{it.pric = token;}
z++;
}
holdIt = it; // save item in a globaler variable
}
if(i == 4)
{
int j = 0;
while (tkner.hasMoreTokens())
{
String token = tkner.nextToken("\t");
if(j == 2)
{holdIt.itemNum = token;}
j++;
}
temp.addItem(holdit);
delete(holdit); //// Will this delete holdit from temps linked list?
/// Or does the linked list in temp copy the data to
///itself regardless of what happens to holdit
System.out.println(holdit.print());
}
}
i++;
}
in.close();
UpdateItems(temp);