黑马程序员技术交流社区

标题: 面试小程序 [打印本页]

作者: bfl625    时间: 2014-9-2 21:25
标题: 面试小程序
看到一面试题,自己写 了一下,给大家看看,有没有需要改进的地方。
* 请选择操作类型: input,query,detail,quit

* 请输入学生成绩: 张三:80 李四:90 王五:85 赵六:70 quit

* 请输入要查询的学生姓名 张三 80 李四 90 quit

public class Test {
        private static Scanner sc = new Scanner(System.in);
        private static HashMap<String, Integer> hm = new HashMap<>();

        public static void main(String[] args) {
                a: while (true) {
                        System.out.println("请选择操作类型: input,query,detail,quit");
                        String line = sc.nextLine();
                        switch (line) {
                        case "input":
                                input();
                                break;
                        case "query":
                                query();
                                break;
                        case "detail":
                                detail();
                                break;
                        case "quit":
                                break a;
                        default:
                                System.out.println("您选择的操作类型不合法,请选择操作类型: input,query,detail,quit");
                                break;
                        }

                }
        }

        private static void detail() {
                for (String key : hm.keySet()) {                                        //遍历双列集合
                        System.out.println(key + "=" + hm.get(key));        //打印集合中的每一个键和值
                }
        }

        private static void query() {
                System.out.println("请输入要查询的学生姓名");
                while (true) {
                        String line = sc.nextLine();                                        //键盘录入学生姓名(键)
                        if ("quit".equals(line))
                                break;
                        System.out.println(hm.get(line));                                //根据键获取值
                }
        }

        private static void input() {
                System.out.println("请输入学生成绩 格式是: 姓名:成绩");
                while (true) {
                        String line = sc.nextLine();
                        if ("quit".equals(line))
                                break;
                        try {
                                String[] arr = line.split(":");                                //将录入的学生姓名和成绩切割
                                int num = Integer.parseInt(arr[1]);                        //将成绩转换为int值
                                hm.put(arr[0], num);                                                //添加到HashMap集合中存储
                        } catch (Exception e) {
                                System.out.println("您录入的格式非法,格式是: 姓名:成绩");
                        }
                }
        }

}



作者: 忆梦追风    时间: 2014-9-2 21:34
楼主继续努力,加油




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