<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
基於Java的聯絡人管理系統,供大家參考,具體內容如下
基於eclipse做的一個簡單的聯絡人管理系統
對於聯絡人姓名首字母進行了一個排序,對於存入資訊時手機號碼與電子郵箱做了一個判斷,只有在輸入正確格式的手機號和電子郵箱才能成功存入資料
聯絡人基本屬性類
此類包含聯絡人編號、姓名、手機號、QQ、電子郵箱等資訊
/** 編號*/ private int sno; /** 姓名*/ private String name; /** 手機號*/ private String phone; /** QQ*/ private String qq; /** 電子郵箱*/ private String email;
快捷生成相應的方法與構造器
public User(int sno, String name, String phone, String qq, String email) { super(); this.sno = sno; this.name = name; this.phone = phone; this.qq = qq; this.email = email; } public int getSno() { return sno; } public void setSno(int sno) { this.sno = sno; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } @Override public String toString() { return sno + "t" + name + "t" + phone + "t" + qq + "t" + email; }
由此完成聯絡人屬性定義,再實現對聯絡人進行管理的功能
功能類
功能我在功能類與測試類中共同實現,因在測試類中反覆呼叫方法
首先定義一個ArrayList陣列來對資訊進行儲存
static ArrayList<User> list = new ArrayList<>();
新增聯絡人方法
/** 1-新增聯絡人 */ public void add(User u) { list.add(u); }
聯絡人查詢功能(根據不同資訊進行查詢:編號、姓名、手機號)
/** 2-聯絡人查詢(根據編號查詢) */ public User findBySno(int sno) { User us = null; for (User u : list) { if (u.getSno() == sno) { us = u; break; } } return us; } /** 3-聯絡人查詢(根據姓名查詢) */ public User findByName(String name) { User us = null; for (User u : list) { if (u.getName().equals(name)) { us = u; break; } } return us; } /** 4-聯絡人查詢(根據手機號查詢) */ public User findByPhone(String phone) { User us = null; for (User u : list) { if (u.getPhone().equals(phone)) { us = u; break; } } return us; }
聯絡人列表
/** 5-聯絡人列表 */ public ArrayList<User> findAll() { return list; }
刪除聯絡人
/** 6-刪除聯絡人 */ public boolean delete(int sno) { User user = findBySno(sno); if (user != null) { return list.remove(user); } return false; }
此類完成
測試實現類
此類呼叫功能類中方法實現功能的運用
首先建立物件與控制檯輸入功能
private UserManage um = new UserManage(); private Scanner sc = new Scanner(System.in);
建立視窗指令介面提供使用者提示訊息
/** 輸入視窗的指令介面 */ public void menu() { msg("==================================="); msg("======SOFTEEM聯絡人管理系統============"); msg("======【1】聯絡人新增=================="); msg("======【2】根據編號檢視聯絡人資訊=========="); msg("======【3】根據姓名檢視聯絡人資訊=========="); msg("======【4】根據手機號檢視聯絡人資訊========="); msg("======【5】檢視所有聯絡人==============="); msg("======【6】根據標號刪除聯絡人============"); msg("======【0】退出系統==================="); msg("請輸入操作指令: "); start(); }
按照提示訊息來使用功能,在此方法中呼叫各個功能
/** 程式按鍵入口 */ private void start() { sc = new Scanner(System.in); int i = sc.nextInt(); switch (i) { case 1: add(); break; case 2: queryById(); break; case 3: queryByname(); break; case 4: queryByPhone(); break; case 5: list(); break; case 6: delete(); break; case 0: exit(); break; default: msg("請輸入正確的操作指令!!!"); break; } menu(); }
聯絡人的增刪改查功能,另外新增了對聯絡人姓名首字母進行排序的功能
/** 1-使用者新增的使用者端實現 */ private void add() { String regex = "^1[13456789]\d{9}$"; String email="\w+@\w+\.\w+"; msg("請輸入使用者資訊:((按以下格式:編號/姓名/手機號/QQ/郵箱))"); sc = new Scanner(System.in); String s = sc.nextLine(); // 根據"/"擷取使用者資訊 String[] info = s.split("/"); if (um.findBySno(Integer.parseInt(info[0])) != null) { msg("該ID使用者已存在,請重新輸入!"); add(); return; } else { User u = new User(Integer.parseInt(info[0]), info[1], info[2], info[3], info[4]); if (info[2].matches(regex)) { }else{ msg("格式錯誤,請輸入正確的手機號!"); add(); } if (info[4].matches(email)) { }else{ msg("格式錯誤,請輸入正確的郵箱!"); add(); } um.add(u); msg("新增成功!"); } } /** 2-根據編號查詢聯絡人 */ private void queryById() { sc = new Scanner(System.in); msg("請輸入聯絡人編號:"); int sno = sc.nextInt(); User u = um.findBySno(sno); if (u == null) { msg(sno + "號不存在,請重新輸入!"); queryById(); return; } msg("編號t姓名t手機號ttQQtt郵箱"); msg(u); } /** 3-根據姓名查詢聯絡人 */ private void queryByname() { sc = new Scanner(System.in); msg("請輸入聯絡人姓名:"); String name = sc.next(); User u = um.findByName(name); if (u == null) { msg(name + "不存在,請重新輸入"); queryByname(); return; } msg("編號t姓名t手機號ttQQtt郵箱"); msg(u); } /** 4-根據手機號查詢聯絡人*/ private void queryByPhone() { sc = new Scanner(System.in); msg("請輸入聯絡人手機號:"); String phone = sc.next(); User u = um.findByPhone(phone); if (u == null) { msg(phone + "不存在,請重新輸入"); queryByPhone(); return; } msg("編號t姓名t手機號ttQQtt郵箱"); msg(u); } /** 5-顯示所有聯絡人(按名字首拼音排序) */ private void list() { (um.findAll()).sort((a, b) -> { //分別獲取要比較的兩個聯絡人的的姓名 String name1 = a.getName(); String name2 = b.getName(); //宣告變數儲存轉換之後的漢語拼音 String p1 = ""; String p2 = ""; //將漢字轉拼音 for (int i = 0; i < name1.length(); i++) { p1 += PinyinHelper.toHanyuPinyinStringArray(name1.charAt(i))[0]; } for (int i = 0; i < name2.length(); i++) { p2 += PinyinHelper.toHanyuPinyinStringArray(name2.charAt(i))[0]; } return p1.compareTo(p2); }); msg("編號t姓名t手機號ttQQtt郵箱"); for (User u : um.findAll()) { msg(u); } } /** 6-根據編號刪除聯絡人 */ private void delete() { sc = new Scanner(System.in); msg("請輸入使用者編號:"); int sno = sc.nextInt(); if (um.delete(sno)) { msg("刪除成功!"); } else { msg("刪除失敗!"); } } public void msg(Object obj) { System.out.println(obj); }
程式的退出功能
/** 0-體統退出 */ private void exit() { sc = new Scanner(System.in); msg("是否確定退出?(Y/N)"); String op = sc.next(); if (op.equalsIgnoreCase("Y")) { msg("謝謝使用,再見!"); System.exit(1); } }
聯絡人管理系統的程式入口
public static void main(String[] args) { TestUser tu = new TestUser(); tu.menu(); }
功能實現裡沒有什麼技術難點,只要細心一點將物件方法呼叫和一些簡單的判斷語句使用靈活就能輕鬆的完成此係統。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45