一些JAVA代码(单词长度)

来源:互联网 发布:apache压缩包下载 编辑:程序博客网 时间:2024/06/03 20:28
1
单词长度(4分)

题目内容:

你的程序要读入一行文本,其中以空格分隔为若干个单词,以‘.’结束。你要输出这行文本中每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如“it's”算一个单词,长度为4。注意,行中可能出现连续的空格。


输入格式:

输入在一行中给出一行文本,以‘.’结束,结尾的句号不能计算在最后一个单词的长度内。


输出格式:

在一行中输出这行文本对应的单词的长度,每个长度之间以空格隔开,行末没有最后的空格。


输入样例:

It's great to see you here.


输出样例:

4 5 2 3 3 4


import java.util.Scanner;


public class Main {


public static void main(String[] args) {
Scanner in=new Scanner(System.in);
String s1=in.next();
while(true)
{
if(s1.charAt(s1.length()-1)=='.')
{
System.out.println(s1.length()-1);
}
else
System.out.print(s1.length()+" ");
s1=in.next();
}
       
}
}


自己在eclispe上是可以运行的,各种情况也都试了,但是测试用例2过不去,不知道为什么。

这段代码比较简单且好理解,重点在1.输入字符串应该使用in.next()而不是in.nextLine(),因为in.next()是读取输入的字符串中的第一个,而in.nextLine()则是读取整个字符串。2.charAt()和length()函数的使用。3.整个程序由while(true)控制,由于输入的是以空格为界的字符串,题目要求输出每个单词的长度,因此while(true)以每个单词为界,当识别第一个单词输出长度后,in.next()识别第二个字符串,并以此类推,直到句子结束。

原创粉丝点击