计算字符串最后一个单词的长度,单词以空格隔开
输入描述:
输入一行,代表要计算的字符串,非空
输出描述:
输出一个整数,表示输入字符串最后一个单词的长度。
输入:hello world输出:5说明:最后一个单词为world,长度为5
我现在用指针的方式书写
import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别String s=in.nextLine();int index=-1;for(int i=s.length()-1;i>=0;i--){if(s.charAt(i)==' '){index=i;break;}}
System.out.println(s.length()-index-1);}
}
字符串的使用
import java.util.Scanner;public class Main {public static void main(String[] args) {// 使用 try-with-resources 确保 Scanner 正确关闭try (Scanner sc = new Scanner(System.in)) {// 读取键盘输入的一行字符串System.out.println("请输入一行文本:");String s = sc.nextLine();// 检查输入是否为空if (s.isEmpty()) {System.out.println("输入为空,没有单词。");} else {// 以空格分割字符串为数组String[] arr = s.split("\\s+");// 检查数组是否为空if (arr.length == 0) {System.out.println("没有单词。");} else {// 输出最后一个单词的长度System.out.println(arr[arr.length - 1].length());}}} catch (Exception e) {System.out.println("发生错误:" + e.getMessage());}}
}
使用 try-with-resources 语句来自动关闭 Scanner。
在读取输入之前提示用户输入文本。
检查输入字符串是否为空,并给出相应的输出。
检查分割后的数组是否为空,如果是,则输出没有单词的消息。
添加了异常捕获块来处理可能发生的异常。