开发者社区> waylau> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介: 描述 计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾) 输入描述: 输入一行,代表要计算的字符串,非空,长度小于5000。 输出描述: 输出一个整数,表示输入字符串最后一个单词的长度。 解法
+关注继续查看

描述

计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于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。
  • 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。

*

*/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。
  • 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。

*

*/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。
  • 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。

*

*/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。
  • 输出描述:输出一个整数,表示输入字符串最后一个单词的长度。

*

*/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

​


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java实现希尔排序
华杰让我看了一道面试题:现有一段程序S,可以对任意n个数进行排序。如果现在需要对n^2个数进行排序,最少需要调用S多少次?(只允许调用S,不可以做别的操作)。         看到了这个,我想试试希尔排序,就学学。
731 0
Java使用jxl.jar包写Excel文件的最适合列宽问题基本实现
以前用jxl.jar包,读写过Excel文件。也没有注意最适合列宽的问题,但是jxl.jar没有提供最适合列宽的功能,上次用到写了一下,可以基本实现最适合列宽。 注意,这个只是基本可以实现,基本针对中文电子报表。
984 0
JAVA实现QRCode的二维码生成以及打印
喜欢的朋友可以关注下,粉丝也缺。 不说废话了直接上代码 注意使用QRCode是需要zxing的核心jar包,这里给大家提供下载地址 https://download.
4008 0
面试:用 Java 实现一个 Singleton 模式
面试系列更新后,终于迎来了我们的第一期,我们也将贴近《剑指 Offer》的题目给大家带来 Java 的讲解,个人还是非常推荐《剑指 Offer》作为面试必刷的书籍的,这不,再一次把这本书分享给大家,PDF 版本在公众号后台回复「剑指Offer」即可获取。
1021 0
Dockerfile配置APM监控实现Java容器的性能监控
通过Dockerfile可以用来构建容器镜像,我们一般也是通过这种方式来构建一个Tomcat应用服务容器,如果要实现对容器中的Tomcat服务(或是其他Java应用)进行APM(应用性能管理)监控,就需要我们在容器中放置javaagent并做相关配置,而在已生成的容器中修改配置不符合容器管理的规范,所以我们建议在发布镜像时就将javaagent植入,这样在生成容器时就可以通过环境变量参数来决定是否开启监控。
1366 0
Java的零基础入门:接口的实现(三)
Java的零基础入门:接口的实现(三)
0 0
java并发原理实战(9)--手动实现一个可重入锁
java并发原理实战(9)--手动实现一个可重入锁
0 0
java并发原理实战(14)--自己实现简易web服务器
java并发原理实战(14)--自己实现简易web服务器
0 0
+关注
waylau
大道至简! https://waylau.com/
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JAVA反射原理以及一些常见的应用
立即下载
01-02.pd...[123ya].1495094335.pdf
立即下载
01-02.pd...[123ya].1495094003.pdf
立即下载