关于这个程序有两个问题:
第一,为什么要用哈希码值。这里我们用到了switch case 分支语句,switch后面的括号里跟着的是它的判断条件,这个判断条件有个要求:它只可以接受int,byte,char,short类型,不能接受其他类型,而我们的“员工应聘语言”类似java,C++一类都是字符串,这并不符合switch的要求,所以这里我们需要哈希码值。
第二,什么是哈希码值,先来段百度百科上的解释:哈希算法将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。通俗一些,也就是说哈希码值是与数据对应的,唯一的,一串数字,那么它就满足了switch的要求。Ps:哈希码值可以根据一些工具直接查询(度娘哈希码值查询即可)。
关于性别的输出,我在某些网站上学习到的是:Scanner可以接收char类型。
System.out.println("请输入员工性别:");
char sex = scanner.next().charAt(0);
编译并没有错误,但是执行时进行到输入性别这一步程序会直接跳到default,我找出了当时的笔记,确定某网站的老师就是这么讲的,重新调试过几次,然并卵,直到换为String类型才执行成功。