ファイルに含まれる文字数 (空白を含む) を出力するようプログラムに要求するプログラムを作成しています。私が今持っているコードは毎回0を返しますが、なぜ文字を数えていないのか分かりません。
public int getcharCount(Scanner textFile) {
int count = 0;
while(textFile.hasNext()) {
String line = textFile.nextLine();
for(int i=0; i < line.length(); i++)
count++;
}
return count;
}
編集: 私のプログラムの仕様では、スキャナーを使用する必要があると書かれています。よくわかりませんが、forループに到達しているとは思いません。同じ手法を使用してファイル内の行数を数えたところ、完全に機能しました。そのコードは次のとおりです。
public int getLineCount(Scanner textFile) {
int lineCount = 0;
while(textFile.hasNext()) {
String line = textFile.nextLine();
lineCount++;
}
return lineCount;
}
また、行に何かが含まれているかどうかを確認する必要はありません。ただし、テキスト ファイルの途中にある場合は、1 文字としてカウントする必要があります。