Java教程

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

本文主要是介绍【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



这篇关于【Java 数据结构及算法实战】系列 015:HJ1 字符串最后一个单词的长度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!