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

© 段黄军 中级黑马   /  2015-5-29 20:06  /  333 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package cn.dhjFx;

  2. import java.io.*;
  3. import java.util.*;
  4. import java.util.Map.Entry;

  5. /*
  6. * 在控制台输入3个学生(姓名,学号)姓名可以重复但是学号是唯一的,
  7. * 将输入的这3个学生存放到集合里然后在控制台打印出来并且修改其中任意一个学号对应的学生姓名
  8. */
  9. public class Test002 {
  10.         public static void main(String[] args) throws Exception{
  11.                 BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
  12.                 Map<Integer,String> map = new HashMap<Integer,String>();
  13.                 String str =null;
  14.                 while((str=buf.readLine())!=null){
  15.                 String[] cha = str.split(",");
  16.                 map.put(Integer.parseInt(cha[1]),cha[0]);
  17.                 }
  18.                 Set<Entry<Integer, String>> set = map.entrySet();
  19.                 Iterator<Map.Entry<Integer, String>> it = set.iterator();
  20.                 while(it.hasNext()){
  21.                         Map.Entry<Integer, String> s = it.next();
  22.                         int inte = s.getKey();
  23.                         String ss =s.getValue();
  24.                         System.out.println(inte+"    "+ss);
  25.                        
  26.                 }
  27.                
  28.         }
  29. }
复制代码

为什么我运行的时候总是会报异常

1 个回复

倒序浏览
兄弟  map.put(Integer.parseInt(cha[1]),cha[0]); 这行错了 还有你这个根本打印不出来的,因为readLine()是阻塞时方法啊,应该这样。。



import java.io.*;
import java.util.*;
import java.util.Map.Entry;

/*
* 在控制台输入3个学生(姓名,学号)姓名可以重复但是学号是唯一的,
* 将输入的这3个学生存放到集合里然后在控制台打印出来并且修改其中任意一个学号对应的学生姓名
*/
public class Test {
        public static void main(String[] args) throws Exception{
                BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
                Map<Integer,String> map = new HashMap<Integer,String>();
                String str =null;
                while((str=buf.readLine())!=null){
                String[] cha = str.split(",");
                map.put(Integer.parseInt(cha[0]),cha[1]);
                System.out.println(map);
                Set<Entry<Integer, String>> set = map.entrySet();
                Iterator<Map.Entry<Integer, String>> it = set.iterator();
                while(it.hasNext()){
                        Map.Entry<Integer, String> s = it.next();
                        int inte = s.getKey();
                        String ss =s.getValue();
                        System.out.println(inte+"    "+ss);
                       
                }
                }
               
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马