题目内容:
你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。
输入格式:
输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。
输出格式:
在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。
输入样例:
It's great to see you here.
输出样例:
4 5 2 3 3 4
时间限制:500ms内存限制:32000kb
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String a= in.next();
char ch='.';
while(a.length()>0){
if(a.charAt(a.length()-1)==ch){//charAt() 字符串中的额第几个
System.out.print((a.substring(0, a.length()-1)).length());//(substring).length读取()内中间的字符个数
break;
}
else{
System.out.print(a.length()+" ");
a = in.next();
}
}
}
}
方法二(更标准):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import
java.util.Scanner;
public
class
hello
{
public
static
void
main(String[] args)
{
// TODO Auto-generated method stub
Scanner in=
new
Scanner(System.in);
String s=in.nextLine();
char
ch=
'.'
;
String[] word=s.split(
"\\s{1,}"
);
//正则表达式,一个或一个以上的空格
for
(
int
i=
0
;i<word.length-
1
;i++)
{
System.out.print(word[i].trim().length()+
" "
);
//用正则表达式后,trim()可以不要
}
String wend=word[word.length-
1
].trim();
if
(wend.charAt(wend.length()-
1
)==ch)
{
System.out.print(wend.substring(
0
, wend.length()-
1
).length());
}
}
}
|
本文介绍了一种使用Java程序来计算输入文本中各单词长度的方法。程序接收以空格分隔的一行文本,并输出每个单词的长度。文章提供了两种实现方式,包括字符串操作和正则表达式的使用。

8273

被折叠的 条评论
为什么被折叠?



