java实现键盘输入一个字符串,统计其中出现的单词个数
时间: 2024-11-15 21:29:37 浏览: 38
在Java中,你可以通过创建一个Scanner对象从用户那里获取输入,并使用`split()`方法来分隔单词。接下来,你可以使用一个计数器变量来跟踪单词的数量。以下是简单的代码实现:
```java
import java.util.Scanner;
public class WordCount {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine(); // 获取用户输入的字符串
// 使用正则表达式 "\s+" 来匹配一个或多个空格作为单词分隔符
String[] words = input.split("\\s+");
int wordCount = words.length; // 计算单词数量
System.out.println("字符串中的单词个数是: " + wordCount);
// 关闭Scanner
scanner.close();
}
}
```
当你运行这个程序并输入字符串后,它会显示输入字符串中单词的总数。
相关问题
java通过键盘输入一个由多个单词(要有重复的单词)构成的字符串,并统计该字符串每个单词出现的次数;
在Java中,你可以使用`HashMap`来统计字符串中每个单词的出现次数。以下是简单的步骤:
1. 首先,创建一个`HashMap<String, Integer>`,键是单词,值是该单词的计数。
2. 使用`String`类的`split()`方法将字符串分割成单词数组,这个方法会根据空格或其他特定字符分隔。
3. 遍历这个单词数组,对于每一个单词,如果它已经在`HashMap`中,就将其对应的计数加一;如果不在,添加到`HashMap`并设置初始计数为1。
4. 最后,遍历`HashMap`,可以打印出每个单词及其出现次数。
下面是一个示例代码片段:
```java
import java.util.HashMap;
import java.util.Map;
public class WordCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个包含重复单词的字符串:");
String input = scanner.nextLine();
// 创建一个 HashMap 来存储单词和它们的计数
Map<String, Integer> wordCountMap = new HashMap<>();
// 分割输入的字符串为单词数组
String[] words = input.split("\\s+");
// 遍历数组,更新计数
for (String word : words) {
wordCountMap.put(word, wordCountMap.getOrDefault(word, 0) + 1);
}
// 打印结果
for (Map.Entry<String, Integer> entry : wordCountMap.entrySet()) {
System.out.println("单词 " + entry.getKey() + " 出现了 " + entry.getValue() + " 次");
}
}
}
```
题目1:通过键盘输入一个由多个单词构成的字符串,并统计该字符串每个单词出现的次数; 题目2:通过键盘输入一个字符串,并判断该字符串是否可以作为java源程序的文件名(具体要求:文件名后缀必须为.java,长度大于等于6,并且首字符必须是英文字母或者下划线);java
题目1:解决这个问题,你可以编写一个简单的程序,步骤如下:
1. 使用Scanner从用户处获取输入的字符串。
2. 分割字符串成单词列表,通常使用`split()`函数,分隔符可以选择默认的空格或正则表达式`\s+`。
3. 创建一个HashMap或Map结构来存储每个单词及其计数,键是单词,值是计数初始值设为0。
4. 遍历单词列表,对每个单词在Map中对应的计数加一。
5. 最后遍历Map,输出每个单词及其出现次数。
```java
import java.util.HashMap;
import java.util.Scanner;
public class WordCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
HashMap<String, Integer> wordCount = new HashMap<>();
for (String word : input.split("\\s+")) {
wordCount.put(word, wordCount.getOrDefault(word, 0) + 1);
}
wordCount.forEach((word, count) -> System.out.println("单词 '" + word + "' 出现了 " + count + " 次"));
scanner.close();
}
}
```
题目2:判断Java源程序文件名的验证规则可以用下面的Java代码实现:
```java
public class FilenameValidator {
public static boolean isValidFilename(String filename) {
// 判断文件名长度、首字母及后缀
if (filename.length() < 6 || !Character.isLetterOrDigit(filename.charAt(0)) ||
!filename.endsWith(".java")) {
return false;
}
return true;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串作为文件名:");
String fileName = scanner.nextLine();
if (isValidFilename(fileName)) {
System.out.println(fileName + " 是有效的Java源程序文件名.");
} else {
System.out.println(fileName + " 不是一个有效的Java源程序文件名.");
}
scanner.close();
}
}
```
阅读全文