当前位置: 首页 > article >正文

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

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

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

二、举例:

输入: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;
    }
}

六、结果

在这里插入图片描述


http://www.kler.cn/a/284835.html

相关文章:

  • Matlab自学笔记四十一:介绍日期时间型的显示格式:年‘y‘ 月‘M‘ 日‘d‘ 周‘e‘ 时‘h‘ 分‘m‘ 秒‘s‘
  • 第8章 利用CSS制作导航菜单
  • 【Python】爬虫通过验证码
  • C语言第十一周课——函数的调用
  • 问:MySQL主从同步的机制梳理?
  • 【Xrdp联机Ubuntu20.04实用知识点补充】
  • Linux - 如何在 Linux 中使用`find` 命令
  • JAVA安全之Velocity模板注入刨析
  • 字和字节的区别?
  • 分享两个方法分析python打包exe
  • Cookie、Session、Token:三者的区别与应用
  • 【QNX+Android虚拟化方案】112 - 获取 88Q5152 Switch Port1、Port2 端口的主从模式 / 传输速率 / 链路状态
  • 基于 web教学管理系统设计与实现
  • 筛法求欧拉函数
  • sysfs系统
  • Unity实战案例全解析 之 背包/贩卖/锻造系统(左侧类图实现)
  • 如何在JPG文件中隐写数据
  • 类实例化和构造函数
  • 【Go语言成长之路】使用 Go 和 Gin 开发 RESTful API
  • 五,Spring Boot中的 Spring initializr 的使用
  • go.uber.org/ratelimit 源码分析
  • MyBatis一级缓存和二级缓存以及 mybatis架构
  • .net开发日常笔记(持续更新)
  • 续:MySQL的并行复制
  • XtQuant是什么?哪家券商支持miniQMT,XtQuant?
  • 使用SQLite进行Python简单数据存储的线程安全解决方案