java通讯录管理源代码,java编写通讯录

java个人通讯录管理系统

import java.util.Arrays;

创新互联是一家专业提供潢川企业网站建设,专注与做网站、网站制作、H5场景定制、小程序制作等业务。10年已为潢川众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

public class AddressBook

{

private int totalContacts; // 现在通讯录中的总数

private int maxContacts; // 通讯录的最大值

private Contact[] contacts; // 通讯录的array

/**

* Constructor. 设定这个通讯录最初的大小为10人上限.

*/

public AddressBook()

{

totalContacts = 0;

maxContacts = 10;

contacts = new Contact[totalContacts];

}

/**

* 得到一个联系通过通讯录中的名字

*

* @param name

* 要去得到的联系人名字

* @return 这个联系人, 没有的话为null

*/

public Contact getContactByName(String name)

{

for(int i = 0; i totalContacts; i++)

{

Contact c = contacts[i];

if(name.equals(c.getName()))

{

return c;

}

}

return null;

}

/**

* 在这个contacts array的最后给这个通讯录添加联系人.

* 如果联系人已经存在且号码参数不为0的话,联系人的号码会更新或者地址参数不是null的话,地址会更新。.

* 如果totalContacts达到maxContacts的值的话,在新的联系人被添加前,这个contacts

* array的size会乘以双倍并且maxContacts也乘以双倍。

*

* @param contact

* 要加到这个通讯录的联系人

* @return true 如果这个联系人添加成功, 否则 false;

*/

public boolean addContact(Contact contact)

{

for(int i = 0; i contacts.length; i++)

{

Contact ct = contacts[i];

if(ct.equals(contact))

{

if(ct.getNumber() != 0)

{

ct.setNumber(contact.getNumber());

}

if(null != ct.getAddress())

{

ct.setAddress(contact.getAddress());

}

return true;

}

}

if(totalContacts == maxContacts)

{

totalContacts *= 2;

maxContacts *= 2;

}

Contact[] cs = new Contact[totalContacts + 1];

System.arraycopy(contacts, 0, cs, 0, totalContacts);

cs[cs.length - 1] = contact;

contacts = cs;

totalContacts++;

return true;

}

/**

* 检查是否联系人已经存在

*

* @param contact

* 要去检查的contact

* @return true 如果这个联系人被找到,否则false

*/

public boolean contains(Contact contact)

{

for(int i = 0; i totalContacts; i++)

{

if(contacts[i].equals(contact))

{

return true;

}

}

return false;

}

public void printAddressBook()

{

for(int i = 0; i totalContacts; i++)

{

System.out.println(contacts[i]);

}

}

/**

* 在AddressBook中还有一个方法!

* 从通讯录中移除一个指定的联系人,之后把其他的入口左移,这样在联系人间就没有空隙了,

* For example:

* before - {C1, C2, C3, C4, C5, C6, C7, C8, C9, null} remove C6

* after - {C1, C2, C3, C4, C5, C7, C8, C9, null, null}

*

* @param contact

* 要移除的联系人,

* @return true 如果这个联系人被成功移除了,否则false;

*/

public boolean removeContact(Contact contact)

{

if(totalContacts == 0)

{

return false;

}

for(int i = 0; i totalContacts; i++)

{

Contact ct = contacts[i];

if(ct.equals(contact))

{

Contact[] cs = new Contact[totalContacts];

System.arraycopy(contacts, 0, cs, 0, i);

System.arraycopy(contacts, i + 1, cs, i, cs.length - i - 1);

contacts = cs;

totalContacts--;

return true;

}

}

return false;

}

@Override

public String toString()

{

return String.format("AddressBook [totalContacts=%s, maxContacts=%s, contacts=%s]", totalContacts, maxContacts,

Arrays.toString(contacts));

}

}

//--------------------------------------------------

public class Contact

{

private String name;

private long number;

private String address;

public String getName()

{

return name;

}

public void setName(String name)

{

this.name = name;

}

public long getNumber()

{

return number;

}

public void setNumber(long number)

{

this.number = number;

}

public String getAddress()

{

return address;

}

public void setAddress(String address)

{

this.address = address;

}

@Override

public boolean equals(Object obj)

{

if(!(obj instanceof Contact))

{

return false;

}

Contact contact = (Contact) obj;

if(this.getName().equals(contact.getName())

this.getAddress().equals(contact.getAddress())

this.getNumber() == contact.getNumber())

{

return true;

}

return false;

}

@Override

public String toString()

{

return String.format("Contact [name=%s, number=%s, address=%s]", name, number, address);

}

}

//---------------------------------------------

public class Test

{

public static void main(String[] args)

{

AddressBook ab = new AddressBook();

for(int i = 0; i 10; i++)

{

Contact contact = new Contact();

int x = i + 1;

contact.setName("C" + x);

contact.setAddress("china");

contact.setNumber(x);

ab.addContact(contact);

}

System.out.println(ab);

Contact c = new Contact();

c.setName("C6");

c.setAddress("china");

c.setNumber(6);

ab.removeContact(c);

System.out.println(ab);

}

}

(java编程)采用双向链表作数据结构,编写一个通讯录管理系统。

#include

#include

#include

using namespace std;

#define SIZE 10

struct AddrList

{

string name;

string sex;

int age;

string QQ;

}addrlist[SIZE];

int main()

{

int i;

int j;

cout"输入要输入的记录数量:";

cini;

if (iSIZE)

{

cout"输入的记录数量大于顺序表的最大长度!"endl;

return 0;

}

cout"输入格式:\n姓名 性别 年龄 QQ\n"endl;

for (j=0;ji;++j)

{

cout"输入第"j+1"条记录"endl;

cinaddrlist[j].nameaddrlist[j].sexaddrlist[j].ageaddrlist[j].QQ;

}

cout"\n姓名\t性别\t年龄\tQQ"endl;

for (j=0;ji;++j)

{

coutaddrlist[j].name"\t"addrlist[j].sex"\t"addrlist[j].age"\t"addrlist[j].QQendl;

}

return 0;

}

输入:2

张三 男 23 123456

李四 女 24 66666

编写一个JAVA程序实现个人通讯录管理

这个太简单了,你问的是程序编制要点,那么我就告诉你:

1.分析程序

2.制定计划

3.编写代码

4.测试

关于你说的用java编写个人通讯录管理程序,这个程序代码

这本书有原代码,你自己可以看下

求Java通讯录管理程序,要编译好的。要求数据存在文本文件中,功能包括联系人管理(新增,删除,修改

#includestdio.h /*I/O函数*/ 

#includeprocess.h/*包含exit函数*/ 

#includestring.h/*字符串函数*/ 

struct person/*定义一个结构体,结构体内元素为数组*/ 

char name[10];/*姓名*/ 

char number[15];/*学号*/ 

char tel[15];/*电话*/ 

char addr[30];/*地址*/ 

}; 

char filename[12]; 

FILE *fp;/*定义一个指针*/ 

void creat();/*创建一个通讯簿*/ 

void output();/*输出通讯录中所含资料*/ 

void append();/*添加函数*/ 

void search();/*查找函数*/ 

void Delete();/*删除函数*/ 

void modify();/*修改函数*/ 

/*以下是主函数*/ 

main() 

int m;/*定义一个整数*/ 

creat();    

while(1)/*括号中为1代表无限循环*/ 

printf("\n\n添加同学地址,请按1"); 

printf("\n查找同学地址,请按2"); 

printf("\n修改同学地址,请按3"); 

printf("\n删除原来地址,请按4"); 

printf("\n输出所有地址,请按5"); 

printf("\n退出本通讯录,请按0\n"); 

scanf("%d",m); 

if(m=0m=5) 

switch(m)/*调用主菜单函数,返回值整数作开关语句的条件*/ 

case 1: append();/*往通讯录中添加*/ 

break; 

case 2: search();/*在通讯录中查找*/ 

break; 

case 3: modify();/*修改通讯录中资料*/ 

break; 

case 4: Delete();/*删除通讯录中资料*/ 

break; 

case 5: output();/*输出通讯录中所有名单*/ 

break; 

case 0: exit(0);/*退出运行程序*/ 

printf("\n\n操作完毕,请再次选择!"); 

else 

printf("\n\n选择错误,请再次选择!"); 

void output() 

struct person one; 

if((fp=fopen(filename,"r"))==NULL)/*用输入打开一个文本文*/ 

printf("\n不能打开通讯簿!"); 

exit(0); 

printf("\n\n%12s\n","通 讯 簿"); 

while(!feof(fp))/*检验fp所指文件是否结束,此为一个循环语句*/ 

fscanf(fp,"%s%s%s%s\n",one.name,one.number,one.tel,one.addr);/*从fp所指文件中读出数据*/      printf("\n%-10s%-15s%-15s%-30s\n",one.name,one.number,one.tel,one.addr);/*输出上面读出数据*/ 

fclose(fp);/*关闭所指文件,释放文件缓冲区,并返回值*/ 

/*****************添加函数*******************************/ 

void append() 

struct person one; 

if((fp=fopen(filename,"a"))==NULL)/*向二进制文本尾追加数据*/ 

printf("\n不能打开通讯簿!"); 

exit(0); 

printf("\n请输入添加的姓名、电话号码及住址\n");

java通讯录全部代码!

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;

public class AddList {

private String filePath = "";

private String bakPath = "";

private String content = "";

Scanner sc = new Scanner(System.in);

public String readFile(){

content = "";

if (isNull(filePath)) {

System.out.println("文件存储路径:");

filePath = sc.nextLine();

}

File file = new File(filePath);

FileReader fr = null;

try {

if (file.exists()) {

fr = new FileReader(file);

char[] chars = new char[1024];

int n = 0;

while((n = fr.read(chars)) != -1){

String string = new String(chars, 0, n);

content = content + string;

}

} else {

System.out.println("文件不存在");

}

} catch (Exception e) {

e.printStackTrace();

} finally {

if (fr != null) {

try {

fr.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

return content;

}

public void writeFile(String path){

File file = new File(path);

FileOutputStream fos = null;

mkDirs(path);

try {

fos = new FileOutputStream(file);

BufferedOutputStream bos = new BufferedOutputStream(fos);

PrintWriter pw = new PrintWriter(bos, true);

pw.print(content);

pw.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} finally {

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public void writeFile(){

if (isNull(filePath)) {

System.out.println("文件存储路径:");

filePath = sc.nextLine();

}

File file = new File(filePath);

FileOutputStream fos = null;

mkDirs(filePath);

try {

fos = new FileOutputStream(file);

BufferedOutputStream bos = new BufferedOutputStream(fos);

PrintWriter pw = new PrintWriter(bos, true);

pw.print(content);

pw.flush();

} catch (FileNotFoundException e) {

e.printStackTrace();

} finally {

if (fos != null) {

try {

fos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public void mkDirs(String filepath){

if (filepath.indexOf("\\") != -1) {

filepath = filepath.replaceAll("\\", "/");

}

int n = filepath.indexOf("//");

String path = filepath.substring(0, n) + "//";

filepath = filepath.substring(filepath.indexOf("//") + 1, filepath.length());

String[] files = filepath.split("/");

for (int i = 0; i files.length - 1; i++) {

path = path + files[i];

File file = new File(path);

if (!file.exists()) {

file.mkdir();

}

}

}

public void addImfor(){

System.out.println("--------增加记录---------");

String name = "";

String tel = "";

String email = "";

content = readFile();

while(true){

System.out.println("姓名:");

name = sc.next();

System.out.println("电话:");

tel = sc.next();

System.out.println("Email:");

email = sc.next();

content = content + name + "" + tel + "" + email +"==";

System.out.println("0、Exit 1、继续");

int i = sc.nextInt();

if (i == 0) {

break;

}

}

writeFile();

}

public void deleteImfor(){

System.out.println("---------删除记录---------");

String name = "";

String[] imfors = null;

content = readFile();

while(true){

System.out.println("你要删除的姓名是:");

name = sc.next();

if (content.indexOf(name) != -1) {

imfors = content.split("==");

for (int i = 0; i imfors.length; i++) {

if (imfors[i].indexOf(name) != -1) {

imfors[i] = "";

}

}


标题名称:java通讯录管理源代码,java编写通讯录
分享路径:http://myzitong.com/article/hocejo.html