您的位置:首页 > 编程语言 > Java开发

Java实现的简单电话号码储存

2011-11-11 10:15 483 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  简单 电话号码 休闲