咋样建设网站,河北网站建设备案,170个可带链接锚文本外链的网站论坛,广州h5网站开发华为机试 HJ1 字符串最后一个单词的长度 文章目录华为机试 HJ1 字符串最后一个单词的长度一、题目描述二、方法一 Java lastIndexOf() 方法三、方法二 Java split()方法使用Java的lastIndexOf()和split()解决求取方法字符串最后一个单词的长度的问题 一、题目描述 计算字符串最…华为机试 HJ1 字符串最后一个单词的长度 文章目录华为机试 HJ1 字符串最后一个单词的长度一、题目描述二、方法一 Java lastIndexOf() 方法三、方法二 Java split()方法使用Java的lastIndexOf()和split()解决求取方法字符串最后一个单词的长度的问题 一、题目描述 计算字符串最后一个单词的长度单词以空格隔开字符串长度小于5000。注字符串末尾不以空格为结尾 输入描述 输入一行代表要计算的字符串非空长度小于5000。 输出描述 输出一个整数表示输入字符串最后一个单词的长度。 示例
输入hello nowcoder
输出8说明最后一个单词为nowcoder长度为8 二、方法一 Java lastIndexOf() 方法 java有一个方法public int lastIndexOf(int ch) 它可以返回指定字符在此字符串中最后一次出现处的索引如果此字符串中没有这样的字符则返回 -1。因为单词之间以空格相隔所以可以搜索输入字符串最后一个空格所在的索引这样字符串总长度减去最后空格的索引1即可得到字符串最后一个单词的长度。 注意 为了获取输入的String类型的字符串我们要使用nextLine()。这里简单介绍一下nextLine() 和 next()。 nextLine() 方法返回的是Enter键之前的所有字符它是可以得到带空格的字符串的。也就是说输入一串字符它就可以接受所有字符包括空格但是遇到回车Enter就会停止录入只录入前面的东西。 next()会自动消去有效字符前的空格只返回输入的字符不能得到带空格的字符串。也就是说如果输入了一串字符到了有空格的时候就会停止录入只录入空格前面的东西空格后面的东西包括分隔的空格都会保留在缓存区域
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.nextLine(); //str是输入的字符串System.out.println(str.length()-(str.lastIndexOf( )1)); // str.lastIndexOf( )1加1是因为索引是从0开始计数的长度是从1开始的Scanner sc new Scanner(System.in);String str sc.nextLine();}
}三、方法二 Java split()方法 split()方法可以将一个字符串按条件分割为子字符串然后将结果作为字符串数组返回。因为单词之间以空格相隔所以可以将字符串按照空格分隔为不同的子字符串再用length()方法求取最后一个子字符串的长度。
public static void main(String[] args){Scanner sc new Scanner(System.in);String str sc.nextLine();String[] s str.split( ); //将分隔的子字符串放入String数组中int length s[s.length - 1].length(); //最后一个子字符串所在的数组位置是(s.length - 1)System.out.println(length);
}