这应该将行数,单词数和字符数计入文件中。
但这是行不通的。从输出中仅显示0
。
码:
public static void main(String[] args) throws IOException {
int ch;
boolean prev = true;
//counters
int charsCount = 0;
int wordsCount = 0;
int linesCount = 0;
Scanner in = null;
File selectedFile = null;
JFileChooser chooser = new JFileChooser();
// choose file
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
selectedFile = chooser.getSelectedFile();
in = new Scanner(selectedFile);
}
// count the characters of the file till the end
while(in.hasNext()) {
ch = in.next().charAt(0);
if (ch != ' ') ++charsCount;
if (!prev && ch == ' ') ++wordsCount;
// don't count if previous char is space
if (ch == ' ')
prev = true;
else
prev = false;
if (ch == '\n') ++linesCount;
}
//display the count of characters, words, and lines
charsCount -= linesCount * 2;
wordsCount += linesCount;
System.out.println("# of chars: " + charsCount);
System.out.println("# of words: " + wordsCount);
System.out.println("# of lines: " + linesCount);
in.close();
}
我不明白发生了什么事。有什么建议?
不同的方法。使用字符串查找行数,单词数和字符数:
public static void main(String[] args) throws IOException {
//counters
int charsCount = 0;
int wordsCount = 0;
int linesCount = 0;
Scanner in = null;
File selectedFile = null;
JFileChooser chooser = new JFileChooser();
// choose file
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
selectedFile = chooser.getSelectedFile();
in = new Scanner(selectedFile);
}
while (in.hasNext()) {
String tmpStr = in.nextLine();
if (!tmpStr.equalsIgnoreCase("")) {
String replaceAll = tmpStr.replaceAll("\\s+", "");
charsCount += replaceAll.length();
wordsCount += tmpStr.split(" ").length;
}
++linesCount;
}
//display the count of characters, words, and lines
System.out.println("# of chars: " + charsCount);
System.out.println("# of words: " + wordsCount);
System.out.println("# of lines: " + linesCount);
in.close();
}
注意:
对于其他编码样式,请使用new Scanner(new File(selectedFile), "###");
代替new Scanner(selectedFile);
。
###
是需要设置的字符。引用这个和维基
问题内容: 我花了一些时间在规划如何使用Python计算文本文件中的某些元素。我已经学习Python几个月了,并且熟悉以下函数; raw_input open Split Lun Printing rsplit() 到目前为止,这是我的代码: 在这一点上,我不确定下一步该怎么做。我觉得最合乎逻辑的方法是先计算行数,计算每行中的单词数,然后计算每个单词中的字符数。但是我遇到的问题之一是试图一次执行所
问题内容: 我认为我已经很好地理解了这一点,但我认为该陈述是错误的。怎么说包含空格,加1。 编辑: 我发现(感谢Blender)可以用更少的代码来做到这一点: 问题答案: 使用方括号,而不是括号: 或: 您也可以使用:
本文向大家介绍Ruby中实现统计文件行数、单词数和字符数,包括了Ruby中实现统计文件行数、单词数和字符数的使用技巧和注意事项,需要的朋友参考一下 在Ruby中我们定义一个wc方法,用来统计文件中出现的文本行数、单词数和字符数,ruby代码程序如下:
本文向大家介绍如何计算R中字符串中的单词数?,包括了如何计算R中字符串中的单词数?的使用技巧和注意事项,需要的朋友参考一下 句子中的单词数可以用于文本分析,因此,我们需要对它们进行计数。这可以是单个句子或多个句子。我们可以使用strsplit和sapply查找一个句子或多个句子中的单词数。 示例 请看以下句子作为向量-
我一直在试图弄清楚如何计算句子每个单词中的元音和字符。例如 在句子 < code>hello : 5个字符,2个元音 <代码>有:5个字符,2个元音 。我见过完整句子做同样事情的代码。但不是一个字一个字地。 下面是我一直在做的编码 输入将全部。我很难弄清楚这一点。 在运行代码时,我没有得到元音计数。我能把句子分开。但元音计数没有发生。
问题内容: 我正在编写一个程序,该程序对作为输入的文件中的所有行,单词和字符进行计数。 在某种程度上,代码还可以。 但是,我不知道如何计算文件中的“空格”。我的角色计数器仅计算字母,空格除外。 另外,在计算行数时,我正在绘制空白。 问题答案: 您可以只使用字符长度。 您可以使用方法按行拆分,结果的长度为行数。 但是,更好的方法是逐行读取文件: 现在,即使文件很大,该程序也可以运行。它一次最多不会在