电话号码查询系统功能:
(1)存储联系人(姓名 电话 地址)
(2)删除联系人
(3)根据姓名或者号码查找联系人

import java.util.Scanner;
public class HashTest {public static void main(String[] args) {Scanner in=new Scanner(System.in);Hashtable ht=new Hashtable();String num,name,add;String s;char n;System.out.println("欢迎使用电话号码查询系统! ");System.out.println("输入 “1”:录入 ");System.out.println("输入 “2”:查找 ");System.out.println("输入 “3”:删除 ");System.out.println("输入 “4”:退出系统 ");do {s=in.next();n=s.charAt(0);if(n!='1'&&n!='2'&&n!='3'&&n!='4') {System.out.println("错误!!!请重新输入!");}switch(n) {case '1':ht.in();break;case '2':ht.find();break;case '3':ht.delete();break;}}while(n!='4');System.out.println("欢迎使用本系统,再见!!! ");}
}class Hashtable extends hash{Scanner in=new Scanner(System.in);int i;String num,name,add,jud;hash[] table=new hash[7];public Hashtable(){for(i=0;i<7;i++) {table[i]=new hash();}}public void in() {System.out.print("姓名 ");name=in.next();System.out.print("电话号码 ");num=in.next();System.out.print("地址 ");add=in.next();table[mod(num)].inhash(name,num,add);System.out.println("录入成功!");}public void find() {System.out.println("通过姓名查找:1");System.out.println("通过电话查找:2");jud=in.next();if(jud.equals("1")) {System.out.print("查找人姓名 ");name=in.next();for(i=0;i<7;i++) {if(table[i].findname(name)!=null) {System.out.println("姓名:"+table[i].t.name+" 电话号码:"+table[i].t.num+" 地址:"+table[i].t.add);jud="";}}if(jud.equals("1")) {System.out.println("查无此人!");}}else if(jud.equals("2")) {System.out.print("查找电话 ");num=in.next();i=mod(num);if(table[i].findnum(num)!=null) {                System.out.println("姓名:"+table[i].t.name+" 电话号码:"+table[i].t.num+" 地址:"+table[i].t.add);jud="";}if(jud.equals("2")) {System.out.println("查无此人!");}}else {System.out.println("查无此人!");}}public void delete() {System.out.print("删除联系人姓名 ");name=in.next();for(i=0;i<7;i++) {if(table[i].deletehash(name)) {System.out.println("删除成功!");}                }if(i==7) {System.out.println("查无此人!");}}public int mod(String num) {int a=0;for(int i=0;i<num.length();i++) {a=Integer.parseInt(num.charAt(i)+"");}return a%7;}}
class hash{int n;node head=new node(null,null,null);node t;public hash() {n=0;head.next=null;}class node{String num,name,add;node next;public node(String name,String num,String add) {this.num=num;this.name=name;this.add=add;next=null;}}public void inhash(String name,String num,String add) {n++;node no=new node(name,num,add);no.next=head.next;head.next=no;}public node findname(String name) {t=head.next;while(t!=null) {if(t.name.equals(name)) {return t;}else {t=t.next;}}return null;}public node findnum(String num) {t=head.next;while(t!=null) {if(t.num.equals(num)) {return t;}else {t=t.next;}}return null;}public boolean deletehash(String name) {node tde=findname(name);if(tde!=null) {t=head;while(t.next!=tde) {t=t.next;}t.next=tde.next;return true;}return false;}
}

java算法——哈希表 电话号码查询系统相关推荐

  1. 电话号码查询系统(数据结构之哈希表)

    哈希表 哈希表(Hash Table)是一种根据关键字直接访问内存存储位置的数据结构.通过哈希表,数据元素的存放位置和数据元素的关键字之间建立起某种对应关系,建立这种对应关系的函数称为哈希函数. 1. ...

  2. 哈希表实现电话号码查询系统(c++)

    问题描述:设计哈希表实现电话号码查询系统,实现下列功能: (1) 假定每个记录有下列数据项:电话号码.用户名.地址. (2) 一是从数据文件old.txt(自己现行建好)中读入各项记录,二是由系统随机 ...

  3. 设计散列表实现通讯录查找系统_[源码和文档分享]利用哈希表实现电话号码查询系统...

    第一章 需求分析 1.1 问题描述 设计一个电话号码查询系统,为来访的客⼈提供各种信息查询服务. 1.2 基本要求 设计每个记录有下列数据项:电话号码.用户名.地址 从键盘输入个记录,分别以电话号码和 ...

  4. java编程电话号码查询_java课程设计电话号码查询系统(15页)-原创力文档

    山东建筑大学 Java 课程设计报告 设计题目 电话号码查询系统 学生姓名黄瑜 学号 2010121187 专业班级信计101 指导教师 王文 1 1 1.设计目的 1.通过JAVA 课程设计,使大家 ...

  5. 【数据结构课程设计报告】电话号码查询系统(Java实现)

    数据结构课程设计报告 电话号码查询系统 数据结构课程设计报告 一.需求分析 二.系统功能划分及设计 1.存储结构设计 2.系统的功能架构设计 3.模块设计 3.代码实现 一.需求分析 问题描述:路径规 ...

  6. 《程序设计综合设计》课程设计--电话号码查询系统

    2.问题描述 1.设每个记录有下列数据项:电话号码.用户名.地址: 2.从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表: 3.查找并显示给定电话号码的记录: 4.查找并显示给定用户名的记录 ...

  7. 编写电话号码查询系统

    编写电话号码查询系统 一.项目简介 设计一个通讯录管理软件,做到能够增加组.删除组. 修改组.查询好友.加好友.修改好友,删除好友,退出. (1) 通讯录的每一条信息包括姓名,手机,电话,性别,分组: ...

  8. 散列表应用---电话号码查询系统

    问题介绍 设计电话号码查询系统 基本要求 1.设每个记录有下列数据项: 电话号码.用户名.地址: 2.从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表: 3.采用合适的方法解决冲突: 4.查 ...

  9. C语言电话号码查询系统[2023-01-16]

    C语言电话号码查询系统[2023-01-16] 一.课程设计(论文)题目 电话号码查询系统 说明: 设计哈希表,实现电话号码查询系统. 二.本次课程设计(论文)应达到的目的 C语言.面向对象程序设计. ...

  10. 数据结构个人电话号码查询系统实验报告

    实验目的及要求 目的:通过设计一个<个人电话号码查询系统>,进一步熟悉一些二叉树的概念.以及基本知识和技能,利用所学的基本知识和技能解决简单的面向对象的程序设计问题.实现根据用户输入的信息 ...

最新文章

  1. 送书啦!40本经典书籍任你挑!
  2. OpenCV图像处理使用笔记(五)——图像边界拓展
  3. Neo4j简单的样例
  4. 【bzoj1597- [Usaco2008 Mar]土地购买】斜率优化
  5. Windows下使用pthread
  6. NOIP模拟 整数划分(数论,质因数分解,状压DP)
  7. getopt与getopt_long
  8. PTA离散数学集合论自测(无答案版)
  9. 【原】豆瓣电台桌面版插件开发——搜索插件
  10. mongoose报错Cast to ObjectId failed for value
  11. android版本内存卡,版本等级繁多 教你如何挑选手机内存卡
  12. 什么是TorchScript
  13. element ui 表格头部内容不换行
  14. 如何让爆满的C盘腾出 10G空间
  15. SQLServer阻止保存要求重新创建表的更改,sql在一列数据前统一加字符
  16. 分解质因数 JAVA
  17. Qt 程序异常结束 并且crashed——解决方法 (动态链接库)
  18. 华为无线显示未连接到服务器,华为手机的无线显示功能怎么使用
  19. 耶鲁大学计算机科学专业 录取,杜克大学和耶鲁大学计算机科学专业申请对比...
  20. 李峋同款会动的爱心Python代码版

热门文章

  1. 「软件项目管理」一文详解软件项目进度计划
  2. 《新概念模拟电路》系列电子书下载
  3. matlab数据变成一列数据,用MATLAB处理EXCEL中一列共100000个数据,请问如何将数据导入并将数据做正态曲线拟合...
  4. voc2012数据集详解
  5. 深度学习模型如何查看(hdfview + netron)
  6. Java用itext工具根据模板生成PDF
  7. 过来人给Java初学者的建议!
  8. Skyline软件二次开发初级——7如何在WEB页面中的三维地图上设置颜色
  9. Android 第三方SDK特征的收集
  10. 计算机在机械工程中的应用英语作文,机械英语论文范文