黑马程序员技术交流社区

标题: 求教大神! [打印本页]

作者: Y1011    时间: 2015-9-18 12:56
标题: 求教大神!
  1. import java.util.Collection;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Set;
  5. import java.util.TreeMap;

  6. //“1.2,3.4,5.6,7.8,5.56,44.55”,
  7. public class test45 {
  8.         public static void main(String[] args){
  9.                 String s = "1.2,3.4,5.6,7.8,5.56,44.55";
  10.                 Map<Integer,Integer> m = new TreeMap<Integer,Integer>();
  11.                 String[] strs = s.split(",");
  12.                 for(int x =0;x<strs.length;x++){
  13.                         String[] s1 = strs[x].split(".");
  14.                         m.put(Integer.parseInt(s1[0]), Integer.parseInt(s1[1]));
  15.                 }
  16.                 Set<Integer> set = m.keySet();
  17.                 Iterator<Integer> it = set.iterator();
  18.                 while(it.hasNext()){
  19.                         System.out.println("key="+it.next());                       
  20.                 }
  21.                 Collection<Integer> c = m.values();
  22.                 Iterator<Integer> itr = c.iterator();
  23.                 while(itr.hasNext()){
  24.                         System.out.println("value="+itr.next());
  25.                 }
  26.         }
  27. }
复制代码

需求是将小数点两边的数分别作为键值存入map集合,但
String[] s1 = strs[x].split(".");
m.put(Integer.parseInt(s1[0]), Integer.parseInt(s1[1]))
这2行代码抛出ArrayIndexOutOfBoundsException,这是为什么啊?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2