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

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

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

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

二、举例:

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

六、结果

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 1.【R语言】R语言的下载和安装
  • css中 display block属性的用法
  • 找单身狗(c语言)
  • 【论文阅读】通过使用实体增强框架融合多种多模态线索来改进假新闻检测
  • Kotlin 泛型小知识: `<T>`, `<out T>`, `<in T>` 的区别
  • Oracle查询优化--分区表建立/普通表转分区表
  • C++:string类(1)
  • 根DNS服务器
  • 【ROS2】PID控制
  • 2024上海初中生古诗文大会备考:单选题真题和每道题独家解析
  • 让一个元素靠右对齐
  • 如何使用pytest的fixtures以及pytest-dependency插件来管理接口之间的依赖关系(上)
  • 8.26 T4 日记和编辑器(fhq维护kmp——kmp本身含有的单射与可合并性)
  • Multi-UAV|多无人机、多场景路径规划MATLAB
  • Mac环境下Python3虚拟环境创建、Flask安装以及创建运行第一个最小的Flask项目
  • [iOS]Core Data浅析一 -- 启用Core Data
  • Angular数据绑定机制
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • ES6系列(二)变量的解构赋值
  • Git学习与使用心得(1)—— 初始化
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • storm drpc实例
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 代理模式
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 将回调地狱按在地上摩擦的Promise
  • 聊一聊前端的监控
  • 模型微调
  • 入口文件开始,分析Vue源码实现
  • 使用docker-compose进行多节点部署
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • #AngularJS#$sce.trustAsResourceUrl
  • #ifdef 的技巧用法
  • #Z2294. 打印树的直径
  • #宝哥教你#查看jquery绑定的事件函数
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • (2022 CVPR) Unbiased Teacher v2
  • (k8s中)docker netty OOM问题记录
  • (Python) SOAP Web Service (HTTP POST)
  • (SERIES12)DM性能优化
  • (笔试题)合法字符串
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (力扣)循环队列的实现与详解(C语言)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (太强大了) - Linux 性能监控、测试、优化工具
  • .Net 6.0 处理跨域的方式
  • .NET C# 使用 iText 生成PDF
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net通过类组装数据转换为json并且传递给对方接口
  • .NET微信公众号开发-2.0创建自定义菜单
  • /etc/fstab和/etc/mtab的区别
  • :not(:first-child)和:not(:last-child)的用法
  • @RequestBody的使用