从键盘输入一段文字,以回车结束。一段文字由各个英语单词组成,单词之间用,.?!以及一个以上的空格分隔,要求输出最长的字符串。 java
时间: 2024-02-15 17:04:47 浏览: 60
从键盘读入一段文本,其中的英文字母、数字、空格和除此之外的其他。
4星 · 用户满意度95%
好的,根据您的要求,我可以为您提供以下Java代码:
```java
import java.util.Scanner;
public class LongestString {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一段文字:");
String input = scanner.nextLine();
String[] words = input.split("[,.?!\\s]+"); // 以,.?!和空格为分割符,将字符串分割成单词数组
String longestWord = "";
for (String word : words) {
if (word.length() > longestWord.length()) {
longestWord = word;
}
}
System.out.println("最长的字符串是:" + longestWord);
}
}
```
在上面的代码中,我们首先使用`Scanner`类从键盘输入一段文字,然后使用`split`方法将输入的字符串分割成单词数组。在这里,我们使用正则表达式`[,.?!\\s]+`作为分割符,其中`[,.?!]`表示逗号、句号、问号和感叹号,`\\s`表示空格,`+`表示一个或多个。这样,我们就可以将字符串分割成单词数组了。
接着,我们定义一个变量`longestWord`,用来保存最长的字符串。然后我们遍历单词数组,如果当前单词的长度大于`longestWord`的长度,就更新`longestWord`的值。
最后,我们输出最长的字符串`longestWord`即可。
希望对您有所帮助!
阅读全文