首页
Linux教程
Linux资讯
Linux入门
Linux运维
Linux系统
Linux服务器
Linux安全
Linux问答
SHELL
树莓派
正则
linux命令
安装
Linux监控
运维自动化
Ansible
Piwik
CentOS
Deepin
Ubuntu
Debian
FreeBSD
Nginx
Apache
openresty
Tengine
宝塔
SSH
页面位置:
Linuxboy
>
Linux教程
>
正文
JAVA基础教程
Java实现的简单电话号码储存
文章由LinuxBoy分享于2019-04-01 12:04:09
热评(652)
Java实现的简单电话号码储存
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();
}
}
相关内容
JAVA分别实现Windows平台和Linux平台下的ip获取
JAVA数组的遍历,使用了新的遍历方法foreach
JAVA类的基本应用
JAVA包装类Integer的使用
JAVA包装类Boolean的使用
JAVA包装类Character的使用
JAVA实现二维数组的转置
JAVA中Math类的random()方法使用
JAVA中equals()方法的重要性
JAVA数字处理类使用
今日最新
推荐文章:
JAVA分别实现Windows平台和Linux平台下的ip获取
JAVA数组的遍历,使用了新的遍历方法foreach
JAVA类的基本应用
JAVA包装类Integer的使用
JAVA包装类Boolean的使用
JAVA包装类Character的使用
评论暂时关闭
最新Linux教程教程
Java实现的简单电话号码储存
Android中ListView的用法案例
从Android系统图库中取图片的代码
Android SQLiteDatabase中版本控制作用
jQuery日期选择器插件date-input
s3c2440转入C语言的汇编代码
Linux头条
Oracle Event 10046
升级OpenERP 6.0.x 的数据库到Open
Ubuntu 12.10/12.04 安装 Nvidia Unix D
CentOS虚拟机克隆后网卡配置问题
Linux环境下基本命令
MySQL锁的用法之行级锁
评论暂时关闭