本文主要是介绍【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度
一、题目:计算以空格隔开的字符串的最后一个单词的长度
二、举例:
输入: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;}
}
六、结果
这篇关于【算法每日一练及解题思路】计算以空格隔开的字符串的最后一个单词的长度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!