Java 数据结构及算法实战系列 015:HJ1 字符串最后一个单词的长度
Posted _waylau
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 字符串最后一个单词的长度的主要内容,如果未能解决你的问题,请参考以下文章
Java 数据结构及算法实战系列 015:HJ1 字符串最后一个单词的长度