题目描述
你的程序要读入一行文本,其中以空格分隔为若干个单词,以 .
结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如 it's
算一个单词,长度为4。注意,行中可能出现连续的空格;最后的 .
不计算在内。
输入格式
输入在一行中给出一行文本,以 .
结束
提示: 用 scanf("%c",...);
来读入一个字符,直到读到 .
为止。
输出格式
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例复制
在这里给出一组输入。例如:
It's great to see you here.
输出样例复制
在这里给出相应的输出。例如:
4 5 2 3 3 4
本题要求编写一个Java程序,读入一行文本,并输出每个单词的长度。每个单词以空格分隔,以 . 结束。注意,连续的空格需要忽略,最后的 . 不计算在内。
我们可以使用Scanner类来读取输入,并使用String类的split方法将文本按空格分割成单词数组。然后遍历数组,获取每个单词的长度并输出。
参考代码如下:
package com.jsu.tmy;
import java.util.Scanner;
public class WordLength {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String text = scanner.nextLine();
scanner.close();
// 去除末尾的 .
text = text.substring(0, text.length() - 1);
String[] words = text.split(" ");
for (String word : words) {
System.out.print(word.length() + " ");
}
}
}
运行结果: