有人可以指导我的输出是如何超出范围的吗?我可以对我的方法做些什么来防止那种出界的事情?提前谢谢
//Something is to be done here to prevent out of bound thing
public class B
{
public String Letter(String List)
{
StringBuilder sb = new StringBuilder();
for(String s : list.split(" "))
{
sb.append(s.charAt(0));
}
return sb.toString();
}
主要方法
public static void main(String[] args)
{
Undesired Code Here
}
答案 0 :(得分:5)
问题在于:
for(String s : name.split(" "))
{
sb.append(s.charAt(0));
}
您已被示例"thislooks good to me"
所愚弄,该示例连续包含两个空格。它们之间的结果字符串的长度为0
,这会导致charAt(0)
出现异常。
最简单的解决方法是在追加之前检查!s.isEmpty()
。