【发布时间】:2016-03-13 04:38:39
【问题描述】:
我希望按字母顺序通过频率来操作文本文件。在我的程序中有一种方法我不知道如何开始。我想得到类似的输出:
字母/计数
1 A 6 ***
2 B 8 ****
3 C 6 ***
(等等)
其中 6 个名称以 A 开头,8 个以 B 开头,6 个以 C 开头。 然后每 2 个计数一个 '*'。
我的练习问题实际上是使用一个包含 90000 个名称和不同的 '*' 计数的文本文件,但我非常感谢我的研究提供示例代码和解释其工作原理的说明。
这是我的程序的开始,但就像我说的那样,我不确定如何启动这个方法。
import javax.swing.JOptionPane;
import java.io.*;
public class P03Census {
String rec;
int ctr = 0;
public static void main(String[] args)throws IOException {
Object result = JOptionPane.showInputDialog(null, "Enter a file name\n(1990 to 2000)\nadd extension",
"Taylor Daggett", JOptionPane.PLAIN_MESSAGE);
String textDoc = (String) result;
File file = new File(textDoc);
System.out.println("-----------------------------------------------------------------------------------------");
System.out.println("File name: " +
file);
if (!textDoc.endsWith(".txt")) {
System.out.println("Usage: This is not a text file!");
System.exit(0);
} else if (!file.exists()) {
System.out.println("File not found!");
System.exit(0);
}
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String rec;
int lines = 0;
int i;
while((rec = br.readLine()) != null){
lines++;
}
System.out.println("Record count:"+lines);
System.out.println("------------------------------------------------------------------------------------------");
}
}
【问题讨论】:
-
欢迎来到 StackOverflow,发布您已经尝试过的内容,我们将看看如何为您提供帮助。
-
我的程序有点不同,我不是在寻找适合我自己代码的东西。一个例子就足够了。
-
你只关心名字的第一个字母,还是所有字母的个数?你的文件中的名称是什么分开的?
-
只有第一个字母。
-
我们可以假设您的文件只包含字符串而不包含其他数据类型吗?
标签: java sorting bufferedreader