作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
该程序的目的是告诉我一个文件中有多少个单词,但它给了我非常高的数字。暗示它正在读取字符数而不是单词数,或者是一个单独的逻辑错误。
package wordinspection;
import java.io.*;
import java.util.*;
public class WordInspection {
private Scanner reader;
private File file;
public WordInspection(File file) {
this.file = file;
}
public int wordCount() {
String words = readFile();
System.out.println(words);
words.split("\\s+");
return words.length();
}
public String readFile() {
try {
String str = "";
Scanner reader = new Scanner(file, "UTf-8");
while (reader.hasNextLine()) {
str += reader.nextLine();
str += "\n";
}
return str;
} catch (FileNotFoundException e) {
System.out.println("Does nothing");
return "";
}
}
最佳答案
words.split("\\s+");
不会修改 words
;它只是返回一个新数组。您忽略返回值并对原始字符串调用 length()
。将其更改为:
return words.split("\\s+").length;
关于java - 返回字符数而不是单词数中的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45908814/
我是一名优秀的程序员,十分优秀!