A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© Y1011 中级黑马   /  2015-9-18 12:56  /  310 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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,这是为什么啊?

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马