Java键盘输入
引言
在Java编程中,我们经常需要从键盘获取用户输入来解决实际问题。本文将介绍如何使用Java实现键盘输入,并通过一个实际问题的例子来演示。
键盘输入的基本原理
Java提供了一个标准库java.util.Scanner
,用于从键盘读取用户输入。通过创建Scanner
对象,我们可以使用它的方法来获取键盘输入的不同类型的数据。
解决实际问题
假设我们要编写一个程序,用于统计一篇文章中单词的出现频率。我们希望用户能够输入文章的内容,然后程序会输出每个单词及其出现的次数。
程序设计
首先,我们需要获取用户输入的文章内容。下面是一个示例代码:
import java.util.Scanner;
public class WordFrequencyCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文章内容:");
String article = scanner.nextLine();
scanner.close();
// 统计单词频率的代码将在下面给出
}
}
在上面的代码中,我们创建了一个Scanner
对象来读取键盘输入。我们通过nextLine()
方法获取用户输入的文章内容,并将其存储在article
变量中。
接下来,我们需要编写代码来统计单词的出现频率。我们可以使用Map
来存储单词及其出现的次数。下面是完整的代码:
import java.util.*;
public class WordFrequencyCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入文章内容:");
String article = scanner.nextLine();
scanner.close();
Map<String, Integer> wordFrequency = new HashMap<>();
String[] words = article.split("\\s+");
for (String word : words) {
// 统计单词频率的代码
if (wordFrequency.containsKey(word)) {
wordFrequency.put(word, wordFrequency.get(word) + 1);
} else {
wordFrequency.put(word, 1);
}
}
// 输出单词及其频率
System.out.println("单词\t频率");
System.out.println("----\t----");
for (Map.Entry<String, Integer> entry : wordFrequency.entrySet()) {
System.out.println(entry.getKey() + "\t" + entry.getValue());
}
// 绘制饼状图
drawPieChart(wordFrequency);
}
private static void drawPieChart(Map<String, Integer> wordFrequency) {
String chart = "```mermaid\n";
chart += "pie\n";
for (Map.Entry<String, Integer> entry : wordFrequency.entrySet()) {
chart += entry.getKey() + ": " + entry.getValue() + "\n";
}
chart += "```";
System.out.println(chart);
}
}
在上面的代码中,我们使用HashMap
来存储单词及其频率。通过split()
方法,我们将文章内容拆分为单个单词,并存储在words
数组中。然后,我们遍历words
数组,并逐个统计每个单词的出现次数。
最后,我们输出每个单词及其频率,并调用drawPieChart()
方法来绘制饼状图。
示例运行
下面是一个示例运行的截图:
请输入文章内容:
Hello world, hello Java. Hello world again!
单词 频率
---- ----
Hello 3
world 2
hello 1
Java 1
again 1
```mermaid
pie
Hello: 3
world: 2
hello: 1
Java: 1
again: 1
从上面的输出可以看出,我们成功地统计了文章中每个单词的出现频率,并绘制了对应的饼状图。
总结
本文介绍了如何在Java中实现键盘输入,并通过一个实际问题的例子演示了如何统计文章中单词的出现频率。使用Scanner
类可以方便地从键盘读取用户输入,并使用Map
来存储和处理数据。此外,我们还使用了markdown语法标识出了代码、表格以及饼状图。