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

news2024/9/23 19:27:49

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

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

二、举例:

输入: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.coloradmin.cn/o/2105488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PDF如何转化成Word文档?看完学会转换

PDF如何转化成Word文档?在数字化办公和学习的日常中,PDF文档因其出色的稳定性和跨平台兼容性而广受欢迎。然而,当我们需要编辑或修改PDF中的内容时,往往会遇到一些障碍,因为PDF格式本身并不支持直接编辑。这时&#xf…

c++类与对象的static成员

一.概念 用static修饰的成员变量称为类的静态成员变量,static修饰的成员函数称为类的静态成员函数。 如何声明和定义static成员 声明: 在定义类时进行声明 定义(类外定义): static成员的定义/初始化必须在类外&am…

【C++ 面试 - STL】每日 3 题(七)

✍个人博客:Pandaconda-CSDN博客 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞👍收藏&…

3.js - Water2不显示水波纹

文中需要的资源,在我的资源那里能下载 【3.js 有2个水的生成方式:Water、Water2】 注意: 这个问题,是基于 Water2的 如下方式,不显示波纹 import * as THREE from three import { OrbitControls } from three/exam…

人工智能相关学科的关系

禹晶、肖创柏、廖庆敏《数字图像处理》资源二维码

C++——类与对象(一)

目录 引言 面向过程与面向对象 1.面向过程 2.面向对象 类 1.类的定义 2.类的访问限定符 3.类域 4.类域与其他作用域 对象 1.类对象的实例化 2.对象的大小 2.1 如何计算对象的大小 2.2 内存对齐规则 2.3 示例 3.this指针 3.1 this指针的引入 3.2 this指针的详…

Nacos Config的配置中心

1.创建一个新的文件 2.导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven…

review——Linux:进程地址空间

目录 前言 一、页表 1.回顾一下fork接口 2..先看一个有意思的现象 3.地址映射与页表 二、进程地址空间 1.进程地址空间是什么 2.进程地址空间与页表起到了什么作用 3.进程地址空间有什么作用 4.缺页中断与写时拷贝 5.写时拷贝的相关问题 6.关于内存空间申请的讨 前言 不知道大…

SpringCloud-02 Consul服务注册与发现

Consul是一种用于服务发现、配置和分布式协调的开源工具。Consul提供了以下主要功能&#xff1a; 1.服务发现&#xff1a;Consul允许开发人员在微服务架构中注册和发现服务。它可以自动检测新添加的服务并为它们分配唯一的网络地址。 2.健康检查&#xff1a;Consul可以定期检查…

Linux学习-虚拟化平台安装和使用

注&#xff1a;系统使用Rock8.6 下载链接 通过百度网盘分享的文件&#xff1a;cirros.qcow2&#xff0c;node_base.xml等2个文件 链接&#xff1a;https://pan.baidu.com/s/1hupGQsMjrXMgngCy3lQLhw?pwdhlr6 提取码&#xff1a;hlr6[rootharbor ~]# cat /etc/redhat-releas…

Origin画图——柱状图与点线图结合优化

1.如何将下列不好看的柱状图进行优化呢。 2.首先双击坐标轴&#xff0c;将轴的参数进行修改&#xff0c;包含朝向大小&#xff0c;粗细。修改后如下所示。 3.然后我们来修改柱状图&#xff0c;双击柱状图&#xff0c;依次修改内容。 4.选取颜色&#xff0c;按照修改后&#…

网络层 VI(路由算法与路由协议)【★★★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 一、路由算法 路由算法的目的很简单&#xff1a;给定一组路由器及连接路由器的链路&#xff0c;路由算法要找到一条从源路由器到目的路由器的“最佳”路径。通常&a…

跑步戴的耳机哪个品牌的好?五大高口碑骨传导耳机推荐!

跑步&#xff0c;作为一项简单而高效的运动方式&#xff0c;越来越受到人们的青睐。在跑步的过程中&#xff0c;音乐往往能够成为我们最好的伴侣&#xff0c;它不仅能够激发我们的热情&#xff0c;还能帮助我们保持节奏&#xff0c;让跑步变得更加轻松愉快。然而&#xff0c;选…

两个月冲刺软考——判断是否为阻塞节点,是否可化简,化简顺序是什么?存储器的分层结构;可屏蔽中断与不可屏蔽中断

1.判断是否为阻塞节点&#xff0c;是否可化简&#xff0c;化简顺序是什么&#xff1f; 首先要理解什么是阻塞节点&#xff1f;所谓阻塞节点就是从这个进程开始执行&#xff0c;会让程序陷入死锁&#xff0c;执行不了。解题关键就在于选择入口&#xff1a;挨个去尝试先执行P1、…

Windows安装MinIO对象存储服务详细版本

一、什么是MinIO? Minio 是一个高性能、开源的对象存储服务器。 Minio 具有以下主要特点和优势&#xff1a; 一、功能特点 1. 多平台支持 - 可以在各种操作系统上运行&#xff0c;包括 Linux、Windows 和 macOS。这使得它可以适应不同的服务器环境和开发需求。 2. 对象存储 - …

【从头写CAD】2 建立项目及角度类

文章目录 一、说明二、操作步骤三、角度单位四、源代码1. mod.rs 内容2. angle.rs 内容3. main.rs 补充调试内容 五、运行1. 运行程序 一、说明 CAD离不开角度数据&#xff0c;目前CAD开源项目多用double类型表示角度。我认为有必要独立出来&#xff0c;让三角函数仅出现该类内…

白酒酿造:传统工艺与现代科技的整合

在千年的历史长河中&#xff0c;白酒酿造技艺如一颗璀璨的明珠&#xff0c;闪烁着中华文明的智慧光芒。如今&#xff0c;随着科技的飞速发展&#xff0c;传统酿造工艺与现代科技在这片古老的土地上交织碰撞&#xff0c;共同书写着白酒酿造的新篇章。豪迈白酒&#xff08;HOMANL…

828华为云征文|基于华为云Flexus云服务器X搭建FTP服务器

❀目录 ❀概述❀特点❀环境准备❀安装❀配置文件修改❀创建目录、修改权限❀控制台安全组开启21端口❀工具验证❀总结 ❀概述 FTP文件传输协议是一种在网络中进行文件传输的广泛使用的标准协议。作为网络通信中的基础工具&#xff0c;FTP允许用户通过客户端软件与服务器进行交…

栈和队列——用栈实现队列

栈的特点是先进后出&#xff0c;队列的特点是先进先出。根据题中要求&#xff0c;我们应用两个栈实现一个队列。我们可以类比用队列实现栈&#xff0c;我们可以先将元素都插入到栈1中&#xff0c;当我们想要取出元素时&#xff0c;我们可以将栈1中的所有数据依次插入到栈2中&am…

污点、容忍、不可调度、排水、数据卷

目录 污点taint 污点的格式 1. key:effect 键名&#xff1a;污点类型 2. keyvalue:effect 键名数值&#xff1a;污点类型 污点的类型 1. NoSchedule 2. PreferNoSchedule 3. NoExecute&#xff08;驱逐&#xff09; 设置污点&#xff08;主节点操作&#xff09…