您的位置:首页 > 汽车 > 时评 > 【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度

【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度

2024/10/7 7:31:07 来源:https://blog.csdn.net/u010425839/article/details/141758984  浏览:    关键词:【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度

【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度

一、题目:计算以空格隔开的字符串的最后一个单词的长度

二、举例:

输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8

三、思路:

解题思路1:逐个字符读取字符串的内容,当读取到空格字符时计数归零,从空格后开始统计字符个数,统计到遇到换行符结束
解题思路2:将整个字符串按空格分割成字符串数组,打印出数组最后一个字符串元素的长度

四、总结:

可以从每个字符入手,也可从整个字符串入手。

五、代码

import java.io.IOException;
import java.util.Scanner;
/*
描述:计算以空格隔开的字符串的最后一个单词的长度,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:输出一个整数,表示输入字符串最后一个单词的长度。示例1输入:hello nowcoder输出:8说明:最后一个单词为nowcoder,长度为8  */public class CalcLastWordLen {public static void main(String[] args) throws Exception {try(Scanner scanner = new Scanner(System.in);){String str = "" ;while(!str.equals("end")){str = scanner.nextLine();System.out.println(calcLastWordLen1(str)+":"+calcLastWordLen2(str));}}}/*逐个字符读取字符串的内容,当读取到空格字符时计数归零,从空格后开始统计字符个数,统计到遇到换行符结束*/public static int calcLastWordLen1(String str) throws IOException{int count = 0;char[] charArray = str.toCharArray();for(char c:charArray){if(c == ' '){ count = 0; }else{ count++; }}return count;}/*将整个字符串按空格分割成字符串数组,打印出数组组后一个字符串元素的长度*/public static int calcLastWordLen2(String str) throws IOException{if(!str.isEmpty()){//读取到空行则结束String[] strArray = str.split(" ");return strArray[strArray.length-1].length();}return 0;}
}

六、结果

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com