字符串最后一个单词的长度
做题链接:字符串最后一个单词的长度
题目描述:
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例1
输入:hello nowcoder
输出:8
说明:最后一个单词为nowcoder,长度为8
解题思路:
解题思路有两个:
- 使用 split() 方法,以空格为分隔符,求最后一个字符串的长度
当前题目的 示例1 最后一个的字符串,就是下标为 1 的字符串,通用的公式:
str[str.length-1]
,由于数组是由 0 下标开始的,所以,数组的长度-1,就是该数组的最后一个元素的下标,通过这个下标,就可以访问到最后一个数组元素,并利用length()
方法,求取长度
public class Main {
public static void main(String[] args) {
//输入一个字符串
Scanner in = new Scanner(System.in);
String s = in.nextLine();
//使用 split() 方法,以空格为分隔符,求第二个字符串的长度
String[] str = s.split(" ");
int len = str[str.length-1].length();
System.out.println(len);
}
}
第一种思路,是对字符串进行了拆分,创建了新的字符串,对拆分后的字符串进行操作的。
- 从后往前获取空格的下标,从空格之后的一个位置,截取第二个字符串,再进行长度的求取。需要使用的方法:lastIndexOf() , subString()
public class Main {
public static void main(String[] args) {
//输入一个字符串
Scanner in = new Scanner(System.in);
String s = in.nextLine();
//从后往前获取空格的下标,从空格之后的一个位置,截取第二个字符串,再进行长度的求取。
int index = s.lastIndexOf(" ");
String str1 = s.substring(index + 1);
System.out.println(str1.length());
}
}
第二种思路,是对本身这个字符串进行操作。