字符串最后一个单词的长度

该博客主要讨论如何计算字符串中最后一个单词的长度,输入字符串不超过5000个字符,且末尾不以空格结尾。提供了四种可能的测试用例,并分析了Java中Scanner的next和nextLine方法的区别。博主提出了两种解决思路:一是反向遍历字符串找到第一个空格;二是按空格分割字符串成数组并获取最后一个元素的长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
分析:
输入一个字符串,字符串的结尾不是空格,中间或开头可能会出现空格,
那么测试用例可以考虑为:
1、空格XCD
2、空格CC空格vv
3、XCV
4、xcv空格CVF

一般用Scanner接收从控制台输入的数据,因为本题要求的是字符串,Scanner自带的方法接收后返回值是字符串的有两个,一个是next方法一个是nextLine方法。
二者区别:next从遇到的第一个有效字符开始扫描,到遇到第一个分隔符结束(空格或回车)
nextLine是扫描所有的字符串,遇到回车结束。

题目要求最后一个单词的长度,那么有两种思路。
一、字符串反向遍历,遇到第一个空格结束循环。如果此索引对应的不是空格,那么+1,是空格,结束循环。

Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int res=0;
for(int i =str.length()-1;i>-1;i--){
    if(' '==str.charAt(i)){
          break;
    }
    res++;
}
System.out.println(res);

二、将字符串以空格为分割标志,分割成数组。

Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" ");
System.out.println(s[s.length-1].length());
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值