从键盘输入任意字符串,判断该字符串是否包含英文单词(仅包含大小写字母),如果包含,输出所有结果,如果不匹配,输出“没有单词”。
使用字符串数组保存匹配结果,假设匹配结果最多不超过10个单词。
该回答引用chatgpt:
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class WordMatcher {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入字符串: ");
String input = scanner.nextLine();
String[] words = findEnglishWords(input);
if (words.length > 0) {
System.out.println("匹配到的单词如下:");
for (String word : words) {
System.out.println(word);
}
} else {
System.out.println("没有单词");
}
}
public static String[] findEnglishWords(String input) {
List<String> wordList = new ArrayList<>();
StringBuilder currentWord = new StringBuilder();
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
currentWord.append(c);
} else if (currentWord.length() > 0) {
wordList.add(currentWord.toString());
currentWord.setLength(0);
}
}
if (currentWord.length() > 0) {
wordList.add(currentWord.toString());
}
String[] words = new String[wordList.size()];
wordList.toArray(words);
return words;
}
}