问题描述
编写一个程序,计算指定单词的长度。
程序第一行输入一个含有多个单词的字符串str(长度小于100),单词与单词之间用一个或多个’*’、’-’隔开,程序第二行输入n,表示要计算第几个单词的长度。程序输出指定单词的长度。
样例输入
So*-*Easy
1
样例输出
2
解题思路:
先找到待查单词的首索引,再找单词字符数。主要逻辑稍繁琐,如果某个字符前有分隔符,单词数就加一,找到首索引退出循环即可。
java代码:
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int n = Integer.parseInt(br.readLine());
int count = 1;
int i = -1;
while(i < str.length()) {
if(count == n)break;
i++;
char temp = str.charAt(i);
if(temp == '*' || temp == '-') {
continue;
}
if(i > 0 && (str.charAt(i - 1) == '*' || str.charAt(i - 1) == '-')) {
count++;
}
}
int ans = 0;
for(int j = i;j < str.length();j++) {
char t = str.charAt(j);
if(t == '*' || t == '-')break;
ans++;
}
System.out.println(ans);
}
}
提交截图: