public void setName(String name);
public String getPhone();
public void setPhone(String phone);
public String toString();
}
interface PhoneBook {
public ArrayListContact getPhoneBook();
public boolean add(String name);
public boolean add(String name, String phone);
public Contact getByName(String name);
public Contact getByPhone(String phone);
public void update();
public boolean remove(String name);
boolean isExist(String name);
}
class ContactImpl implements Contact {
static final String EMPTY_PHONE = "Empty";
private String name;
private String phone;
public ContactImpl (String name) {
this.name = name;
this.phone = null;
}
public ContactImpl (String name, String phone) {
this.name = name;
this.phone = phone;
}
@Override
public String getName() {
return name;
}
@Override
public void setName(String name) {
this.name = name;
}
@Override
public String getPhone() {
return (phone == null ? EMPTY_PHONE : phone);
}
@Override
public void setPhone(String phone) {
this.phone = phone;
}
@Override
public String toString() {
return getName() + "\t\t: " + getPhone();
}
}
class PhoneBookImpl implements PhoneBook {
ArrayListContact phoneBook;
public PhoneBookImpl () {
phoneBook = new ArrayListContact();
}
@Override
public ArrayListContact getPhoneBook() {
return phoneBook;
}
@Override
public boolean add(String name) {
if (isExist(name)) {
return false;
}
else {
phoneBook.add(new ContactImpl(name));
return true;
}
}
@Override
public boolean add(String name, String phone) {
if (isExist(name)) {
return false;
}
else {
if (phone == null || phone.equals("") || phone.trim().equals("")) {
add(name);
}
else {
phoneBook.add(new ContactImpl(name, phone));
}
return true;
}
}
@Override
public Contact getByName(String name) {
for (Contact c : phoneBook) {
if (c.getName().equals(name)) {
return c;
}
}
return null;
}
@Override
public Contact getByPhone(String phone) {
for (Contact c : phoneBook) {
if (c.getPhone().equals(phone)) {
return c;
}
}
return null;
}
@Override
public boolean remove(String name) {
for (Contact c : phoneBook) {
if (c.getName().equals(name)) {
phoneBook.remove(c);
return true;
}
}
return false;
}
@Override
public void update() {
for (int i = 0; iphoneBook.size() - 1; i++) {
for (int j = i + 1; jphoneBook.size(); j++) {
if (phoneBook.get(i).getName().toLowerCase().compareTo(
phoneBook.get(j).getName().toLowerCase())0) {
Contact c = phoneBook.get(i);
phoneBook.set(i, phoneBook.get(j));
phoneBook.set(j, c);
}
}
}
}
@Override
public boolean isExist(String name) {
for (Contact c : phoneBook) {
if (c.getName().equals(name)) {
return true;
}
}
return false;
}
}
JAVA通讯录 求一个JAVA编写的通讯录 , 基本的就可以 。具体方法如下:
1、定义封装一条记录的实体类
2、根据实际系统容量,定义一个数组
3、完成系统中显示全部记录的逻辑
4、完成系统中添加一条记录的逻辑
5、完成系统中删除一条记录的逻辑
6、完成系统中修改一条记录的逻辑
7、全部代码:
import java.util.Scanner;
class Contact {
- redis的热点数据缓存 redis热点数据切换
- 如何修改戴尔服务器的IP地址? 戴尔服务器ip地址怎么改
- mysql中ext
- 优惠券功能的业务流程设计图谱 优惠券redis处理
- redis通配符的使用
- redis是开发工具吗 redis的开发人是谁
- mysql备份一个表的数据 备份一个mysql库
- mysql中删除记录的命令 mysql删除中继日志
- mysql 判断 mysql的判断语句
- 屏蔽数据库的复杂性 mysql数据库屏蔽权限
