java从键盘输入一段文字,以回车结束。一段文字由各个英语单词组成,单词之间用,.?!以及一个以上的空格分隔,要求同时输出所以最长的字符串。
时间: 2024-02-15 17:04:47 浏览: 59
好的,以下是 Java 的实现方式,可以输出所有最长的字符串:
```java
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一段文字:");
String text = scanner.nextLine();
String[] words = text.split("[,.?!\\s]+");
ArrayList<String> longestWords = new ArrayList<String>();
int maxLength = 0;
for (String word : words) {
if (word.length() > maxLength) {
longestWords.clear();
longestWords.add(word);
maxLength = word.length();
} else if (word.length() == maxLength) {
longestWords.add(word);
}
}
System.out.println("最长的单词是:");
for (String word : longestWords) {
System.out.println(word);
}
}
}
```
这段代码与之前的实现方式相似,不同之处在于用一个 ArrayList 存储所有最长的单词,并在遍历过程中判断单词长度是否与最大长度相等。最终输出所有最长的单词。
阅读全文