为了账号安全,请及时绑定邮箱和手机立即绑定

【Java 数据结构及算法实战】系列 015:HJ1 字符串最后一个单词的长度

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

解法

该题型主要是考察字符串的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 按照空格对输入字符串进行分组

  • 取数据组中最后一个元素

  • 输出一个整数,表示输入字符串最后一个单词的长度。

代码如下:



* Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 按照空格对输入字符串进行分组        String[] words = in.split(" ");                // 取数据组中最后一个元素        String lastWord = words[words.length - 1];                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWord.length());                // 关闭资源        sc.close();    } }复制


用到了String的split、length方法,同时也用到了数组。代码运行结果如下。

hello world

5

解法2

也可以采用字符的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 对输入字符串进行倒序遍历,遇到第一个空格则停止

  • 遍历的非空字符数即为最后一个单词的长度

  • 输出一个整数,表示输入字符串最后一个单词的长度。

 


* Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString2 {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 对输入字符串进行倒序遍历,遇到第一个空格则停止.        // 遍历的非空字符数即为最后一个单词的长度        int lastWordLength = 0;        for (int i = in.length() -1 ; i >=0; i--) {            char c = in.charAt(i);                        if (c == ' ') {                break;            }                        lastWordLength ++;        }                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWordLength);                // 关闭资源        sc.close();    } }复制

参考引用

  • 本系列归档至https://github.com/waylau/nowcoder-exam-oj

  • 《Java 数据结构及算法实战》:https://github.com/waylau/java-data-structures-and-algorithms-in-action

  • 《数据结构和算法基础(Java 语言实现)》(柳伟卫著,北京大学出版社出版):https://item.jd.com/13014179.html      

  • 描述

  • 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

  • 输入描述:

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 输出描述:

  • 输出一个整数,表示输入字符串最后一个单词的长度。

  • 解法

  • 该题型主要是考察字符串的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 按照空格对输入字符串进行分组

  • 取数据组中最后一个元素

  • 输出一个整数,表示输入字符串最后一个单词的长度。

  • 代码如下:



  • * Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 按照空格对输入字符串进行分组        String[] words = in.split(" ");                // 取数据组中最后一个元素        String lastWord = words[words.length - 1];                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWord.length());                // 关闭资源        sc.close();    } }复制

  • 用到了String的split、length方法,同时也用到了数组。代码运行结果如下。

  • hello world

  • 5

  • 解法2

  • 也可以采用字符的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 对输入字符串进行倒序遍历,遇到第一个空格则停止

  • 遍历的非空字符数即为最后一个单词的长度

  • 输出一个整数,表示输入字符串最后一个单词的长度。

  •  


  • * Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString2 {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 对输入字符串进行倒序遍历,遇到第一个空格则停止.        // 遍历的非空字符数即为最后一个单词的长度        int lastWordLength = 0;        for (int i = in.length() -1 ; i >=0; i--) {            char c = in.charAt(i);                        if (c == ' ') {                break;            }                        lastWordLength ++;        }                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWordLength);                // 关闭资源        sc.close();    } }复制
  • 参考引用

  • 本系列归档至https://github.com/waylau/nowcoder-exam-oj

  • 《Java 数据结构及算法实战》:https://github.com/waylau/java-data-structures-and-algorithms-in-action

  • 《数据结构和算法基础(Java 语言实现)》(柳伟卫著,北京大学出版社出版):https://item.jd.com/13014179.html

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)

输入描述:

输入一行,代表要计算的字符串,非空,长度小于5000。

输出描述:

输出一个整数,表示输入字符串最后一个单词的长度。

解法

该题型主要是考察字符串的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 按照空格对输入字符串进行分组

  • 取数据组中最后一个元素

  • 输出一个整数,表示输入字符串最后一个单词的长度。

代码如下:



* Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 按照空格对输入字符串进行分组        String[] words = in.split(" ");                // 取数据组中最后一个元素        String lastWord = words[words.length - 1];                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWord.length());                // 关闭资源        sc.close();    } }复制


用到了String的split、length方法,同时也用到了数组。代码运行结果如下。

hello world

5

解法2

也可以采用字符的操作。解法步骤如下

  • 输入一行,代表要计算的字符串,非空,长度小于5000。

  • 对输入字符串进行倒序遍历,遇到第一个空格则停止

  • 遍历的非空字符数即为最后一个单词的长度

  • 输出一个整数,表示输入字符串最后一个单词的长度。

 


* Copyright (c) waylau.com, 2022. All rights reserved. */ package com.waylau.nowcoder.exam.oj.huawei;import java.util.Scanner;/** * HJ1 字符串最后一个单词的长度. * 描述:计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) * 输入描述:输入一行,代表要计算的字符串,非空,长度小于5000。 * 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。 * * @author <a href="https://waylau.com">Way Lau</a> * @since 2022-08-05 */public class HJ1LengthOfTheLastWordInTheString2 {    public static void main(String[] args) {        // 输入一行,代表要计算的字符串,非空,长度小于5000。        Scanner sc = new Scanner(System.in);        String in = sc.nextLine();                // 对输入字符串进行倒序遍历,遇到第一个空格则停止.        // 遍历的非空字符数即为最后一个单词的长度        int lastWordLength = 0;        for (int i = in.length() -1 ; i >=0; i--) {            char c = in.charAt(i);                        if (c == ' ') {                break;            }                        lastWordLength ++;        }                // 输出一个整数,表示输入字符串最后一个单词的长度。        System.out.println(lastWordLength);                // 关闭资源        sc.close();    } }复制

参考引用

  • 本系列归档至https://github.com/waylau/nowcoder-exam-oj

  • 《Java 数据结构及算法实战》:https://github.com/waylau/java-data-structures-and-algorithms-in-action

  • 《数据结构和算法基础(Java 语言实现)》(柳伟卫著,北京大学出版社出版):https://item.jd.com/13014179.html    http://product.dangdang.com/29334623.html



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
1.7万
获赞与收藏
2168

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消