import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str=in.nextLine();
        int sum=0;
        for(int i =str.length()-1;i>=0&&str.charAt(i)!=' ';i--){
            sum++;
        }
        System.out.println(sum);
    }
}

1.先定义一个字符串类 str;用nextline接受一行的数据:

String str=in.nextLine();

//next()方法读取到空白符就结束;nextLine()读取到回车结束也就是“\r”;

2.定义一个sum计数:

int sum=0;

3.之后就是用for循环,从最后一个开始往前读,已经设定了结尾不是空格,不用考虑,从最后一个往前,读到空格或者读完结束

字符串内计数从0开始,但是length是从1开始,所以i =str.length()-1

for(int i =str.length()-1;i>=0&&str.charAt(i)!=' ';i--){

sum++;

}

4.最后用println输出,print也行,有的题目要求不换行输出,就要用print。:

System.out.println(sum);

//System.out.println() 可以不写参数,输出完会加一个换行,System.out.print(参数) 参数不能为空.必须有参数,输出完不换行