Java hashCode()方法的使用及实例:为新员工分配部门
一、Java hashCode()方法
hashCode() 方法用于返回字符串的哈希码。
字符串对象的哈希码根据以下公式计算:
*s[0]*31^(n-1) + s[1]31^(n-2) + … + s[n-1]
使用 int 算法,这里 s[i] 是字符串的第 i 个字符,n 是字符串的长度,^ 表示求幂。空字符串的哈希值为 0。
语法
public int hashCode()
返回值
返回对象的哈希码值。
实例
根据用户输入的信息确定员工应该分配到那个部门。
package com.cn;
import java.util.Scanner;
public class Example2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in); //创建扫描器
System.out.println("请输入新员工的姓名:");
String name = scan.nextLine(); //接收员工名称
System.out.println("请输入新员工应聘的编程语言:");
String language = scan.nextLine(); //接收员工应聘的编程语言
//根据编程语言确定员工分配的部门
switch(language.hashCode()){
case 3254818: //java的哈希码
case 2301506: //Java的哈希码
case 2269730: //JAVA的哈希码
System.out.println("员工"+name+"被分配到Java程序开发部门。");
break;
case 3104: //C#的哈希码
case 2112: //C#的哈希码
System.out.println("员工"+name+"被分配到C#项目维护组");
break;
case -709190099: //asp.net 的哈希码
case 955463181: //Asp.net的哈希码
case 9745901: //ASP.NET的哈希码
System.out.println("员工"+name+"被分配到Asp.net程序测试部门。");
break;
default:
System.out.println("本公司不需要"+language+"语言的程序开发人员");
}
}
}
参考链接
【1】https://www.runoob.com/java/java-string-hashcode.html
【2】https://www.cnblogs.com/dolphin0520/p/3681042.html