2016-11-15 114 views
0

任何人都可以指导我如何输出越界吗?我可以对我的方法做些什么以防止出现这种情况?在此先感谢Java字符串首字母缩写

//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 
    } 

回答

5

问题就在这里:

for(String s : name.split(" ")) 
{ 
    sb.append(s.charAt(0));   
} 

你已经通过例子"thislooks good to me",其中包含连续两个空格上当。由此产生的字符串长度为0,这导致在charAt(0)处发生异常。

最简单的修复方法是在追加之前检查!s.isEmpty()

+0

完美的作品。谢谢大多数 – Priyanshu

+1

另一种方法是使用'name.split(“+”)'。 – Bubletan