我写了一个程序,读取字母a,e,s和t以及空格在txt文件中出现的次数,它当前工作正常,但只能读取txt文件的第一行。如何让我的程序读取txt文件中的所有行,然后输出这些字母被使用的次数?感谢您的时间和帮助。java txt文件读取程序,只读取txt文件的第一行
import java.util.Scanner;
import java.io.FileNotFoundException;
public class Count
{
public static void main (String[] args) throws FileNotFoundException {
String phrase; // a string of characters
int countBlank; // the number of blanks (spaces) in the phrase
int length; // the length of the phrase
char ch; // an individual character in the string
int countA;
int countE;
int countS;
int countT;
java.io.File file = new java.io.File("counting.txt");
Scanner inFile = new Scanner (file);
Scanner scan = new Scanner(System.in);
phrase = inFile.nextLine();
length = phrase.length();
// Initialize counts
while (true)
{
if (phrase.equalsIgnoreCase("quit"))
break;
else
{
countBlank = 0;
countA = 0;
countE = 0;
countS = 0;
countT = 0;
for (int i = 0; i < length; i++)
{
if (phrase.charAt(i) == ' ')
countBlank++;
ch = phrase.charAt(i);
switch (ch)
{
case 'a':
case 'A': countA++;
break;
case 'e':
case 'E': countE++;
break;
case 's':
case 'S': countS++;
break;
case 't':
case 'T': countT++;
break;
}
}
System.out.println();
System.out.println ("Number of blank spaces: " + countBlank);
System.out.println();
System.out.println ("Number of A's: " + countA);
System.out.println();
System.out.println ("Number of E's: " + countE);
System.out.println();
System.out.println ("Number of S's: " + countS);
System.out.println();
System.out.println ("Number of T's: " + countT);
break;
}
}
}
}
我对程序进行了这些更改,它仍然返回相同的内容。 – user3188576
它适合我。你的文件是怎样的? – Christian
txt文件或java文件? – user3188576