基本的には、私のインストラクターが提供するCS160Inputというメソッドでファイル名を尋ねています。テキスト文書にはそれぞれ独自の行に複数のエントリがあり、配列の各場所に各番号を割り当てようとしていますが、実際に配列に書き込むことはできません。私はそれがファイルを見つけることを知っている、私はカウンタを印刷するとき、それは私にファイルの行の正しい量を教えてくれるので。しかし、配列内の場所をプリントアウトしようとすると、私のコードで見てきたようにインデックス3を試してみました。私は最初に文字列の配列を作成しようとし、各インデックス値のnullを取得して終わった。値が間にあった場合hasNextInt()がfalseを吐きすることができることを指摘@Gendarmeへテキストファイルから文字列を読み込み、配列に入力する文字列をintに変更しようとしていません。
public static void caclulate() throws FileNotFoundException {
String fileName = CS160Input.readString("Please enter the name of the file: ");
Scanner sc = new Scanner (new File (fileName));
int value, counter = 0;
int array[] = null;
while (sc.hasNextLine()) {
sc.nextLine();
counter++;
}
Scanner scanner = new Scanner(new File(fileName));
int[] calcArray = new int [counter];
int i = 0;
while(scanner.hasNextInt()){
calcArray[i++] = scanner.nextInt();
}
System.out.println(calcArray[3]);
System.out.println(counter);
}
'value'と' array'のポイントは何ですか?あなたはこれらの変数を使用していません。 – Gendarme
コードは私のためにうまくいきます(1行に1つの整数を持つファイルで)。ちなみに、メソッド名のスペルが間違っています( 'c'と' l'は転置されます)。 – ajb
あなたのファイルはおそらく整数の間に非整数の値を持ち、 'hasNextInt()'がfalseを返すようにします。 – Gendarme