Java實現的簡單電話號碼儲存
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();
}
}
相關文章
- 安卓實現賬號密碼儲存安卓密碼
- HTML5實現DTMF(電話撥號按鍵訊號)解碼、編碼,程式碼簡單易於移植HTML
- 我們是如何設計儲存4億個電話號碼的
- Go實現簡單的K-V儲存Go
- Java圖片剪裁併儲存的程式碼實現Java
- 上傳檔案到七牛雲端儲存的java api一個簡單的demo實現JavaAPI
- java實現簡單的JDBCJavaJDBC
- 帶貨直播系統,實現簡單的換頭像並儲存
- 演算法電話號碼對應英文單詞演算法
- Java中將電話號碼轉換為數字Java
- Java正規表示式——驗證手機號和電話號碼Java
- 使用Java實現在SQLserver中實現圖片的儲存JavaSQLServer
- java實現棧的簡單操作Java
- 【資料結構】二叉樹(順序儲存、鏈式儲存)的JAVA程式碼實現資料結構二叉樹Java
- TortoiseGit HTTPS方式儲存密碼最簡單的方法GitHTTP密碼
- java實現簡單的單點登入Java
- 電信詐騙黑灰產業鏈現狀(二):境外號碼替代境內號碼,成詐騙電話、詐騙簡訊傳播主力產業
- 使用簡單的Java程式碼實現酒店管理系統Java
- MySQL建立隨機生成電話的儲存函式MySql隨機儲存函式
- 簡單的造數儲存過程儲存過程
- 簡單分析oracle的資料儲存Oracle
- 簡單的鍵值儲存測試
- 簡單的儲存過程分頁儲存過程
- 簡單的分頁儲存過程儲存過程
- js實現的將網頁儲存為圖片簡單解釋介紹JS網頁
- Python使用TCP實現簡單對話PythonTCP
- 儲存過程單引號問題儲存過程
- Java實現一個簡單的BitArrayJava
- jQuery實現的簡單投票簡單程式碼例項jQuery
- miniSipServer簡單而不簡單,輕鬆落地,實現電腦對固話、手機通訊Server
- 行動電話的實現
- 簡單檔案的上傳與儲存
- 實現簡單的`Blazor`低程式碼Blazor
- 將EXCEL裡的電話號碼用逗號分隔匯出Excel
- C#實現的簡單的隨機抽號器C#隨機
- 【力扣】電話號碼的組合(回溯法)力扣
- Java用UDP實現簡單聊天JavaUDP
- 使用Java實現簡單的鬥地主案例Java