『力扣每日一题07』字符串最后一个单词的长度

气死我啦,今天这道题花了快一个小时,我学完了答案的解法,放上去在线 OJ ,一直报错,找来找去都找不到自己错在哪,明明跟答案一模一样。后来还是学了另一种解法,才跑出来的(°̥̥̥̥̥̥̥̥o°̥̥̥̥̥̥̥̥)
 

后来我对比了两种写法,复盘了一下,应该是第一种解法定义了太多变量了,我在使用的时候不小心用错了变量导致的。接下来还需要更细心!

一、题目

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

示例1

输入:

hello nowcoder

输出:

8

说明:

最后一个单词为nowcoder,长度为8   

二、思路解析

首先我们要做的就是循环输入,这个属于基础知识,在此不做赘述。

我们的主要目的是先找到最后一个空格,要用到的函数是: laseIndexOf ,把它 +1 就是空格后面第一个单词的第一个字母了,我们从这里开始,一直截取到末尾。

接着打印最后一个单词的长度,这个也是加上 .length( ) 即可。

总体来说,题目还是比较简单的,当然对我这种小白来说,还是写不出来。

不过没事,知行合一,需在事上练,方有所长进,一位老师曾告诫我的话,我一直铭记在心。知道错哪,比盲目努力更重要!

三、完整代码

import java.util.Scanner;
public class Main{
  public static void main(String[] args){
    Scanner sc = new Scanner(System.in);
    while(sc.hasNext()){
      String s = sc.nextLine();
      int len = s.substring(s.lastIndexOf(' ')+1, s.length()).length();
      System.out.println(len);
   }
    sc.close();
 }
}

以上就是本篇博客的全部内容啦,如有不足之处,还请各位指出,期待能和各位一起进步!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱敲代码的罗根

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值