求助:如何打印字符串最后一个字符?数组args字符串信息输出问题
嘿,我猜你大概率是在获取最后一个字符时踩了索引从0开始的坑!这是新手处理字符串时非常常见的小错误,咱们来快速解决它~
问题根源
字符串的索引是从0开始计数的:比如一个长度为5的字符串,字符的位置是0到4。如果直接用字符串的长度作为索引去取最后一个字符,肯定会超出范围,导致报错。
正确实现示例
下面给你两种常见语言的正确写法,你可以对应自己的场景参考:
1. Java(对应main方法里的String[] args)
public class StringDetails { public static void main(String[] args) { for (String str : args) { System.out.println("字符串本身: " + str); int strLength = str.length(); System.out.println("长度: " + strLength); // 先判断字符串非空,避免空指针/索引越界 if (strLength > 0) { System.out.println("首字符: " + str.charAt(0)); // 关键:最后一个字符的索引是 长度-1 System.out.println("最后一个字符: " + str.charAt(strLength - 1)); } else { System.out.println("这是一个空字符串,无首尾字符"); } System.out.println("---"); } } }
2. Python(对应sys.argv命令行参数)
import sys # 跳过第一个元素(脚本本身的名称) for str in sys.argv[1:]: print(f"字符串本身: {str}") str_length = len(str) print(f"长度: {str_length}") if str_length > 0: print(f"首字符: {str[0]}") # Python可以直接用-1快速获取最后一个字符,不用计算长度减1 print(f"最后一个字符: {str[-1]}") else: print("这是一个空字符串,无首尾字符") print("---")
额外提醒
如果你的数组里可能存在空字符串,一定要加上非空判断,不然获取首尾字符时会抛出索引越界的异常哦!
内容的提问来源于stack exchange,提问作者Adomas Bazinys
相关产品推荐
相关产品推荐

