目录
制作过程和思路都很简单,原理不多说,直接上代码
一、Txl1类:定义属性以及存储信息
class Txl{
private String name;
private String number;
private String bianma;
private String address;
public Txl(String name,String number,String bianma,String address){
this.name=name;
this.number=number;
this.bianma=bianma;
this.address=address;
}
public String Name(){
return name;
}
public String Number(){
return number;
}
public String Bianma(){
return bianma;
}
public String Address(){
return address;
}
}
二、Txl2类:定义存储和查询方法模块
class Txl2{
private String name;
private String bianma;
private String number;
private String address;
private Txl[] r;
private int num=1;
Scanner input=new Scanner(System.in);
public void Add(){
r = new Txl[100];
int n=1;
while(n==1){
System.out.print("name:");
name=input.next();
System.out.print("number:");
number=input.next();
System.out.print("bianma:");
bianma=input.next();
System.out.print("address:");
address=input.next();
r[num]=new Txl(name,number,bianma,address);
num++;
System.out.println("添加成功!");
System.out.println("若继续添加请按1:");
n=input.nextInt();
}
}
public void Find(){
System.out.print("input name:");
name=input.next();
int n=0;
for(int i=1;i<num;i++){
if(name.equals(r[i].Name())){
System.out.println("查询成功!所查询联系人信息如下:");
System.out.println("name:"+r[i].Name());
System.out.println("number:"+r[i].Number());
System.out.println("binama:"+r[i].Bianma());
System.out.println("address:"+r[i].Address());
n=1;
}
}
if(num==1 || n==0) {
System.out.println("查无此人!");
}
}
}
三、主类:交互操作并运行模块
public class Tongxunlu {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
Txl2 t2=new Txl2();
int m;
while(true){
System.out.println("请选择操作:1.添加联系人 2.查找联系人");
m=input.nextInt();
if(m==1){
t2.Add();
}
else if(m==2){
t2.Find();
}
else
System.out.println("输入错误,请重新输入!");
}
}
}
四、操作示例
五、界面化实现通讯录(GUI)
简易通讯录系统(Java)
六、实现本地保存联系人信息
在上面的例子中联系人信息在退出程序之后就被删除了,为了永久的保存联系人信息采用输入输出流将其保存在本地。这里就只需要两个类即可。
package txl;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Scanner;
public class Txl2{
private String name;
private String bianma;
private String number;
private String address;
Scanner input=new Scanner(System.in);
public void add(){
int n=1;
boolean flag = true;
while(n==1){
System.out.print("name:");
name=input.next();
System.out.print("number:");
number=input.next();
System.out.print("bianma:");
bianma=input.next();
System.out.print("address:");
address=input.next();
Properties prop2 = new Properties();
try {
FileReader fr = new FileReader("TongXunLu.txt");
prop2.load(fr);
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
for(Object i : prop2.keySet()) {
if(name.equals(i)) flag = false;
}
if(flag) {
Properties pro = new Properties();
pro.setProperty(name, number+","+bianma+","+address);
try {
FileWriter fw = new FileWriter("TongXunLu.txt",true);
pro.store(fw,null);
System.out.println("添加成功!");
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}else {
System.out.println("已有联系人!");
}
System.out.println("若继续添加请按1:");
n=input.nextInt();
}
}
public void find(){
System.out.print("input name:");
String name1=input.next();
int n=0;
Properties prop2 = new Properties();
try {
FileReader fr = new FileReader("TongXunLu.txt");
prop2.load(fr);
} catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
String[] s = new String[100];
prop2.keySet().toArray(s);
for(int i=0;i<s.length;i++){
if(name1.equals(s[i])){
String[] ss = prop2.getProperty((String) s[i]).split(",");
System.out.println("查询成功!所查询联系人信息如下:");
System.out.println("name:"+s[i]);
System.out.println("number:"+ss[0]);
System.out.println("binama:"+ss[1]);
System.out.println("address:"+ss[2]);
n=1;
break;
}
}
if(n==0) {
System.out.println("查无此人!");
}
}
}
package txl;
import java.util.Scanner;
public class Tongxunlu {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
Txl2 t2=new Txl2();
int m;
while(true){
System.out.println("请选择操作:1.添加联系人 2.查找联系人 3.退出");
m=input.nextInt();
if(m==1){
t2.add();
}
else if(m==2){
t2.find();
}
else if(m==3) {
System.exit(0);
}
else
System.out.println("输入错误,请重新输入!");
}
}
}
运行展示:
运行完毕后观察本地文件,发现联系人信息以及被存储到了本地
此时再重新启动程序,直接查询,发现也是能查询到的。