题目描述
计算字符串最后一个单词的长度,单词以空格隔开。
输入描述:
一行字符串,非空,长度小于5000。
输出描述:
整数N,最后一个单词的长度。
示例
输入
hello world
输出
5
解题思路:从字符串的最后一个字符开始寻找,直到遇到一个空格符则结束。
遇到问题:Scanner.next()方法读取一个字符串,但字符串用空格分隔,即当遇见第一个分隔符和结束符(空格或换行符)时就结束对字符串的扫描。
Scanner.nextLine()方法读取该行的所有内容,包括换行符,即返回Enter键之前的所有字符。
本题中字符串中含有空格,因此应用nextLine()方法。
代码如下:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String str=scanner.nextLine(); //错误所在
int answer=0;
for(int i=str.length()-1;i>=0;i--) {
if(str.charAt(i)!=' ')
answer++;
else
break;
}
System.out.println(answer);
}
}