Java实现的简单电话号码储存
来源:互联网 发布:linux文件服务器有哪些 编辑:程序博客网 时间:2024/05/29 18:10
package com.sinosuperman.example;import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.StringTokenizer;import java.util.TreeMap;import javax.swing.JOptionPane;public class PhoneNoteBook {private final File phoneNoteBookFile;private TreeMap<String, String> phoneNoteBookMap;public PhoneNoteBook(String fileName) throws IOException {phoneNoteBookMap = new TreeMap<String, String>();phoneNoteBookFile = new File(fileName);loadAllRecords();}private void loadAllRecords() throws IOException {BufferedReader reader = new BufferedReader(new FileReader(phoneNoteBookFile));String line = reader.readLine();while (line != null) {StringTokenizer str = new StringTokenizer(line, "\t");String name = str.nextToken();String phone = str.nextToken();phoneNoteBookMap.put(name, phone);line = reader.readLine();}reader.close();}private void addRecord() {String name = JOptionPane.showInputDialog("Please enter the name:\n");String phone = JOptionPane.showInputDialog("Please enter the phone:\n");if (JOptionPane.showConfirmDialog(null, "Are you sure?") == JOptionPane.YES_OPTION) {phoneNoteBookMap.put(name, phone);} else {JOptionPane.showMessageDialog(null, "Operation has been canceled");}}private void updateRecord() {String name = JOptionPane.showInputDialog("Please enter the name:\n");String phone = JOptionPane.showInputDialog("Please enter his/her new phone name:\n");if (!phoneNoteBookMap.containsKey(name)) {if (JOptionPane.showConfirmDialog(null, "This name does not exist. Do you want to create a new one?") == JOptionPane.YES_OPTION) {phoneNoteBookMap.put(name, phone);} else {JOptionPane.showMessageDialog(null, "Operation has been canceled");}} if (JOptionPane.showConfirmDialog(null, "Are you sure to modify his/her phone number?") == JOptionPane.YES_OPTION) {phoneNoteBookMap.put(name, phone);} else {JOptionPane.showMessageDialog(null, "Operation has been canceled");}}private void searchRecord() {String name = JOptionPane.showInputDialog("Please the name for searching");if (phoneNoteBookMap.containsKey(name)) {JOptionPane.showMessageDialog(null, phoneNoteBookMap.get(name));} else {JOptionPane.showMessageDialog(null, "The name you are searching does not exists.");}}private void removeRecord() {String name = JOptionPane.showInputDialog("Please enter the name:\n");if (!phoneNoteBookMap.containsKey(name)) {JOptionPane.showConfirmDialog(null, "This name does not exist. So you don't need to remove it.");} else if (JOptionPane.showConfirmDialog(null, "Are you sure to remove his/her record?") == JOptionPane.YES_OPTION) {phoneNoteBookMap.remove(name);} else {JOptionPane.showMessageDialog(null, "Operation has been canceled");} }public void display() {String message = "Please select an operation:\n" +"Enter \"1\" to add a new record;\n" + "Enter \"2\" to update a existing record;\n" +"Enter \"3\" to find a phone number;\n" +"Enter \"4\" to remove a existing record.\n";int choice = 0;try {choice = Integer.parseInt(JOptionPane.showInputDialog(message));switch (choice) {case 1:addRecord();break;case 2:updateRecord();break;case 3:searchRecord();break;case 4:removeRecord();break;default:}} catch (NumberFormatException e) {}if (JOptionPane.showConfirmDialog(null, "Would you want to continue?") != JOptionPane.YES_OPTION) {JOptionPane.showMessageDialog(null, "Thank you.");} else {display();}}}
测试驱动程序:
package com.sinosuperman.driver;import java.io.IOException;import com.sinosuperman.example.PhoneNoteBook;public class Driver {public static void main(String[] args) throws IOException {PhoneNoteBook phoneNoteBook = new PhoneNoteBook("PhoneNoteBook.txt");phoneNoteBook.display();}}
- Java实现的简单电话号码储存
- Java实现最电话号码的简单加密源码
- 实现 简单 的文件 储存--NSKeyedUnarchiver
- java实现电话号码归属地的查询
- 简单的电话号码处理
- 简单的日志储存
- 电话号码上传下载流量的hadoop代码简单实现
- 简单的哈希表存储电话号码
- java实现加密电话号码,有具体的加密流程注释
- java实现线程安全的栈(链式储存)
- 堆栈的链式储存实现
- 用vb.net与acess结合实现简单的电话号码本程序(一)
- android的实现电话号码的实现
- easyui 正则验证电话号码的简单例子
- berkeley db储存URL队列的简单实现增、删、查
- Android储存---SQLite数据库的简单使用,实现增删改查
- php用最简单的方式实现7牛云对象储存文件上传
- 线性表--顺序储存结构 java实现
- 最大(小)堆的实现
- init.c解析service
- The IE/Win Disappearing List-Background Bug
- 【完美支持iOS5】iFile 1.6.1 含依赖包deb下载
- C# System.Reflection (反射)
- Java实现的简单电话号码储存
- C# System.Attribute (中括号)
- Fedora 16启动ssh服务
- android 学习一 android开发环境搭建
- struts2.1.6 action 02
- zipArchive使用
- 移动开发者大会感言
- 九型人格Enneagram
- html文本编辑器