计算字符串最后一个单词的长度,单词以空格隔开。
1、常规思路:
计算输入的句子中,计算每一个单词的长度,后一个单词长度覆盖前一个单词的长度,直到输入的长度结束。
import java.util.Scanner;
public class Main{
public static void main(String[] args){
//标准输入
Scanner sc=new Scanner(System.in);
//键盘输入字符串
String s=sc.nextLine();
//定义指针变量
int count = 0 ;
for(int i = 0 ; i < s.length();i++){
int number = 0;
if(s.charAt(i)==' '){
number = count;
count=0;
continue;
}
count++;
}
System.out.println(count);
}
}
2、利用java自身的方法
split方法:
**定义:**split()主要是用于对一个字符串进行分割成多个字符串数组。
标准形式:String [] strings = str.split("");
使用默认的情况下,split()方法对每个字符进行分割
多个参数时,每个参数之间要紧挨着|。
如:String [] strings = string.split(" |,|\?");
三个参数:空格、逗号、问号。
?.
(点)(
(正括弧))
(反括弧)*(星号)|(竖线)等特殊符号都要在其前面加上\\
。
str.split(" ")
,字符串中以空格为分隔符,则数组s中,每个元素中存放的数据为每一个word字符。
如果为str.split(“/”),则以 / 为分割
import java.util.Scanner;
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] s = str.split(" "); //正则表达式实用性更强( str.split("\\s+"))
int length = s[s.length - 1].length();
System.out.println(length);
}
3、反向打印(逆向思维)
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int length = str.length();
int count = 0;
for (int i = length - 1; i >= 0; i--) {
if (str.charAt(i)==' ') { // 或者 if (str.substring(i, i + 1).equals(" ")) {
break;
}
count++;
}
System.out.println(count);
}