プログラミングの課題で困っています。txt ファイルからデータを読み取り、並列配列に格納する必要があります。txt ファイルの内容は次のようにフォーマットされます。
Line1: Stringwith466numbers
Line2: String with a few words
Line3(int): 4
Line4: Stringwith4643numbers
Line5: String with another few words
Line6(int): 9
注: 「Line1:」、「Line2:」などは表示用であり、実際には txt ファイルには含まれていません。
ご覧のとおり、3 つのパターンになります。txt ファイルへの各エントリは、2 つの文字列と 1 つの int の 3 行です。
最初の行を配列に、2 行目を別の行に、3 行目を int 配列に読み込みたいと思います。次に、4 行目が最初の配列に追加され、5 行目が 2 番目の配列に追加され、6 行目が 3 番目の配列に追加されます。
このためのコードを書き込もうとしましたが、動作させることができません:
//Create Parallel Arrays
String[] moduleCodes = new String[3];
String[] moduleNames = new String[3];
int[] numberOfStudents = new int[3];
String fileName = "myfile.txt";
readFileContent(fileName, moduleCodes, moduleNames, numberOfStudents);
private static void readFileContent(String fileName, String[] moduleCodes, String[] moduleNames, int[] numberOfStudents) throws FileNotFoundException {
// Create File Object
File file = new File(fileName);
if (file.exists())
{
Scanner scan = new Scanner(file);
int counter = 0;
while(scan.hasNext())
{
String code = scan.next();
String moduleName = scan.next();
int totalPurchase = scan.nextInt();
moduleCodes[counter] = code;
moduleNames[counter] = moduleName;
numberOfStudents[counter] = totalPurchase;
counter++;
}
}
}
上記のコードは正しく動作しません。配列の要素を出力しようとすると。文字列配列の場合は null を返し、int 配列の場合は 0 を返します。これは、データを読み取るコードが機能していないことを示しています。
この時点でイライラしているので、提案やガイダンスは大歓迎です。