首先,我们需要了解如何从键盘读取输入并保存到txt文件中,接着再通过编程实现统计每个单词出现次数。下面是完整攻略:
1. 从键盘读取输入并保存到txt文件中
我们可以使用Scanner
类从键盘获取用户输入,将输入的内容保存到txt文件中。代码如下:
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入要保存到txt文件的内容:");
String inputStr = scanner.nextLine();
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
writer.write(inputStr);
writer.close();
System.out.println("内容已保存到output.txt文件中。");
}
}
以上代码中,我们先通过Scanner
类从键盘获取用户输入的内容,再使用BufferedWriter
写入到txt文件中。需要注意的是,如果要对txt文件进行追加写入,则需要将FileWriter
对象的参数设置为true
,以便以追加方式添加内容到txt文件中。
2. 统计每个单词出现次数
接下来,我们需要读取保存在txt文件中的内容,对每个单词出现的次数进行统计,并输出统计结果。代码如下:
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("output.txt"));
String line = reader.readLine();
reader.close();
String[] words = line.split("\\s+"); // 根据空格分割每个单词
Map<String, Integer> wordCountMap = new HashMap<>();
for (String word : words) {
if (wordCountMap.containsKey(word)) {
int count = wordCountMap.get(word);
wordCountMap.put(word, count + 1);
} else {
wordCountMap.put(word, 1);
}
}
for (Map.Entry<String, Integer> entry : wordCountMap.entrySet()) {
System.out.println("单词 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次。");
}
}
}
以上代码中,我们首先使用BufferedReader
从txt文件中读取内容,再根据空格对每个单词进行分割,并使用HashMap
对象统计每个单词出现的次数。最后遍历HashMap
对象,输出每个单词和出现次数的统计结果。
示例说明
示例1
以下是示例输入:
Hello, world! This is a test.
运行上述程序后,输出如下结果:
单词 Hello, 出现了 1 次。
单词 world! 出现了 1 次。
单词 This 出现了 1 次。
单词 is 出现了 1 次。
单词 a 出现了 1 次。
单词 test. 出现了 1 次。
示例2
以下是示例输入:
Hello world! This is a test. Hello, this is another test.
运行上述程序后,输出如下结果:
单词 Hello 出现了 2 次。
单词 world! 出现了 1 次。
单词 This 出现了 1 次。
单词 is 出现了 2 次。
单词 a 出现了 1 次。
单词 test. 出现了 2 次。
单词 another 出现了 1 次。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java实现读取键盘输入保存到txt文件,再统计并输出每个单词出现次数的方法 - Python技术站