字符串最后一个单词的长度
字符串最后一个单词的长度
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:
hello nowcoder
复制
输出:
8
复制
说明:
最后一个单词为nowcoder,长度为8
一般思路
import java.util.Scanner;
public class LastWordLength {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine(); // 读取输入的字符串
String[] words = input.split(" "); // 将字符串分割成单词数组
System.out.println(words[words.length - 1].length()); // 输出最后一个单词的长度
}
}
使用split(" ")获取空格前后的字符串(或者空串)。
进阶一:考虑到输入字符串中间有连续空格
可以将连续的空格视为一个分隔符,使用正则表达式与split()方法:
String[] words = word.split("\\s+");
这样,连续的空白字符(空格、制表符、换行符等)都会被视为单个分隔符。
进阶二:考虑到输入字符串末尾有空格
无论末尾是单个空格还是连续空格,生成的结果数组都不会包含被这些分隔符分开的空字符串。这是因为 String.split() 方法的特定行为。当使用 split() 方法且不指定第二个参数时,Java 会移除结果数组末尾的所有空字符串。
如果要保留结果数组的空字符串,可以指定split()第二个参数为-1。
"Hello ".split(" ", -1);
进阶三:移除前后空格和空白字符
String input = sc.nextLine().trim();
浙公网安备 33010602011771号