总体思路:开始定义一个整型变量num存取最后一个单词个数,再定义一个布尔变量表示是否从结尾往前找到了字母,找到字母后从找到的字母位置开始,往前一直遍历,每次遇到字母num的值加1,直到遍历到一个位置不是字母,那么最后一个单词长度计数完毕,退出循环输出单词长度
import java.util.*;
public class Main{
public static void main(String[] args){
int num=0;
boolean find=false;
Scanner sc=new Scanner(System.in);
String s=sc.nextLine();
for (int j = s.length() - 1; j >= 0; j--) {
if (
(
(s.charAt(j) >= 'a' && s.charAt(j) <= 'z')
|| (
s.charAt(j) >= 'A'
&& s.charAt(j) <= 'Z' )
) && !find) {
for (int i = j; i >= 0; i--) {
if (!(s.charAt(i) >= 'a' && s.charAt(i) <= 'z' || s.charAt(i) >= 'A' && s.charAt(i) <= 'Z')) {
break;
} else
num++;
}
find=true;
}
}
System.out.println(num);
}
}