HJ1 字符串最后一个单词的长度
描述
计算字符串最后一个单词的长度,单词以空格隔开,字符串长度小于5000。(注:字符串末尾不以空格为结尾)
输入描述:
输入一行,代表要计算的字符串,非空,长度小于5000。
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
示例:
输入:hello nowcoder 输出:8 说明:最后一个单词为nowcoder,长度为8
分析:
1.使用字符串的split方法分离单词。
2. 使用尾指针。
代码:
方法一:使用字符串的split方法。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
/*
next()方法读取到空白符(空格,回车,tab)就结束l;
nextLine()读取到回车结束也就是“\r”
*/
//String str=sc.next();
String str=sc.nextLine();
String[] s=str.split(" ");
//System.out.println(Arrays.toString(s));
System.out.println(s[s.length-1].length());
}
}
方法二:使用尾指针。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
/*
next()方法读取到空白符(空格,回车,tab)就结束l;
nextLine()读取到回车结束也就是“\r”
*/
//String str=sc.next();
String str=sc.nextLine();
//System.out.println(str);
int count=0;
//System.out.println();
//System.out.println(str.length());
//System.out.println(str.charAt(str.length()-1));
for (int i = str.length()-1;i>=0; i--) {
if(str.charAt(i)==32){
break;
}
count++;
}
System.out.println(count);
}
}
大佬代码:
1.使用substring截取包括参数开始的字符串到字符串结尾。
2. lastIndexOf 函数求字符串最后一个空格的索引。
import java.util.Scanner;
import java.lang.String;
public class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
String str = s.nextLine();
String deal = str.substring(str.lastIndexOf(" ") + 1);
System.out.println(deal.length());
}
}
1.使用lastIndexOf 函数求字符串最后一个空格的索引。
2.字符串的长度-(最后一个空格的索引+1的长度)
public class Main {
public static void main(String[] args) {
System.out.println("请输入长度小于5000的字符串");
Scanner scanner = new Scanner(System.in);
String nem;
do {
nem = scanner.nextLine();
if (nem.length()>=5000){
System.out.println("非法输入!请重新输入!");
}else {
//思路:通过String.lastIndexOf()方法获取最后一个空格的下标即可,需要考虑输入的字符没有空格
int index = nem.lastIndexOf(" ")+1;
System.out.println(nem.length() - index);
break;
}
}while (nem != null);
}
}
遇到空格,计数清零。
最后一个空格后的元素个数,可以输出。
import java.util.Scanner;
public class Main{
public static void main(String[]args){
Scanner scan=new Scanner(System.in);
String str=scan.nextLine();
int len=0;
for(int i=0;i<str.length();i++){
if(str.charAt(i)==' '){
len=0;
continue;
}
len++;
}
System.out.print(len);
}
}