编写函数ex10(char[] ch),输入一行字符,将此字符串中最长的单词输出。用
时间: 2024-12-29 22:30:11 浏览: 12
编写一个名为 `ex10` 的函数,其接受一个 `char[]` 类型的参数 `ch`,表示一个字符数组,即字符串。这个函数的目标是找到输入字符串中最长的单词并将其返回。这里假设单词是由空格分隔的,并且不会包含标点符号。以下是该函数的一个基本步骤实现:
1. 初始化两个变量,一个存储最长单词的长度 `maxLen` 和另一个存储最长单词的起始位置 `start`,初始值设为0。
2. 遍历整个字符串数组,遇到空格时(`ch[i] == ' '`),检查从上一次空格到当前位置的子串长度是否大于当前 `maxLen`。如果是,则更新 `maxLen` 和 `start`。
3. 如果遍历结束还没有遇到空格,说明最后一个单词可能是最长的,所以也需要检查一下。
4. 使用 `start` 作为索引,从原数组中获取最长的子串(切片操作),然后返回这个子串。
这是一个简单的伪代码示例:
```java
public String ex10(char[] ch) {
int maxLen = 0;
int start = 0;
// 检查每个空格后的子串
for (int i = 0; i < ch.length; i++) {
if (ch[i] == ' ') {
int len = i - start;
if (len > maxLen) {
maxLen = len;
start = i + 1; //跳过空格
}
} else if (i == ch.length - 1) { //处理最后一个单词
int len = i - start + 1;
if (len > maxLen) {
maxLen = len;
}
}
}
// 返回最长的单词
return new String(ch, start, maxLen);
}
阅读全文