用Java解决:从键盘输入一段文字,以回车结束。一段文字由各个英语单词组成,单词之间用,.?!以及一个以上的空格分隔,要求输出最长的字符串。 样例输入: I am,you list.fast?java!file 样例输出: list fast java file
时间: 2024-02-15 07:04:57 浏览: 66
好的,下面是 Java 代码实现:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 从键盘读入一行字符串
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
// 将各个标点符号和空格替换为一个空格
text = text.replaceAll("[,.?!]+\\s*", " ");
// 将字符串划分成单词数组
String[] words = text.split("\\s+");
// 找到最长的字符串
String longestString = "";
for (String word : words) {
if (word.length() > longestString.length()) {
longestString = word;
}
}
// 输出最长的字符串
System.out.println(longestString);
}
}
```
这个代码使用正则表达式将各个标点符号和空格替换为一个空格,然后使用 `split` 方法将字符串划分成单词数组。最后遍历数组,找到最长的字符串并输出即可。
阅读全文