题目:
描述 | |
---|---|
知识点 | 字符串,循环 |
运行时间限制 | 0M |
内存限制 | 0 |
输入 | 一行字符串,长度小于128。 |
输出 | 整数N,最后一个单词的长度。 |
样例输入 | hello world |
样例输出 | 5 |
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String input = scanner.nextLine();
System.out.println(findLastWordLength(input));
}
scanner.close();
}
public static int findLastWordLength(String input) {
// 最后一个字母的位置
int last = input.length() - 1;
// 找最后一个字母出现的位置
while (last >= 0 && input.charAt(last) == ' '){
last--;
}
// 找最后一个字母之前的第一个空白字符
int pos = last - 1;
while (pos >= 0 && input.charAt(pos) != ' '){
pos--;
}
return last - pos;
}
}
The java.util.Scanner.hasNext():This method Returns true if this scanner has another token in its input. This method may block while waiting for input to scan. The scanner does not advance past any input
String charAt() Method:This method returns the character located at the String's specified index. The indexes start from zero.
java.util.Scanner.Next():This method returns a String object which is a complete token of the Scanner object.
返回Scanner的下一个标记,或指定模式的下一个匹配,即返回的只是第一个输入
java.util.Scanner.NextLine(): This method returns a String which corresponds to the skipped line of the Scanner object.
向前跳过当前行,并返回输入中跳过的输入行,即返回的是一行
Example:
public class Test { public static void main(String args[]) { String s = "Strings are immutable"; char result = s.charAt(8); System.out.println(result); } }Result:
a