Java作业 简单通讯录
#作业要求
1.需求分析
-
储存 :将使用者输入的字符或数字储存到对应变量里/且将这些字符或数字封装到一个类里并成为类的属性(数据域)
-
访问 :可以让使用者通过某个检索关键字检索到目标,检索到后进行输出
-
修改 :使用者输入特定的关键字进行检索,确定修改项后令使用者进行修改
-
删除 :使用者输入特定的关键字进行检索,确定删除项后令使用者进行删除操作
-
导出至文件 :使用者根据提示后选择进行导出,此时系统根据使用者已输入的通讯录各个数据创建一个储存这些数据的文件在特定的目录下
2.设计
💦定义一个【名片类】把号码[long 类,int存不下]、姓名[string 类]、性别[string 类]、工作地点[string 类]、通讯地址[string 类]、生日[string 类]、邮箱[string 类]、备注[string 类] 这些属性封装,然后构造了各个属性对应的储存[set]与输出方法[get],以便名片类里的数据储存与调用。接着定义一个名片类的有参构造,让通讯录主程序可以对名片类进行操作。重写ToString方法满足通讯录主程序的输出需求。
💦一个【file 类】,对应通讯录读写文件的需求
💦一个【ArrayList】储存【名片类】
3.代码
(1)名片类
package 通讯录;
public class 名片 {
//声明名片的各个属性,储存号码用的Number也可以声明为String类型
private long[] Number=new long[10];
private String Name="无",Workad="无",Conect="无",Youxiang="无",Firstday="无",Others="无",sex="无";
//赋值与打印各个属性的方法
public long getCode1() {
return Number[0];
}
public void setCode1(long code1) {
this.Number[0] = code1;
}
public long getCode2() {
return Number[1];
}
public void setCode2(long code2) {
this.Number[1] = code2;
}
public long getCode3() {
return Number[2];
}
public void setCode3(long code3) {
this.Number[2] = code3;
}
public long getCode4() {
return Number[3];
}
public void setCode4(long code4) {
this.Number[3] = code4;
}
public long getCode5() {
return Number[4];
}
public void setCode5(long code5) {
this.Number[4] = code5;
}
public long getCode6() {
return Number[5];
}
public void setCode6(long code6) {
this.Number[5] = code6;
}
public long getCode7() {
return Number[6];
}
public void setCode7(long code7) {
this.Number[6] = code7;
}
public long getCode8() {
return Number[7];
}
public void setCode8(long code8) {
this.Number[7] = code8;
}
public long getCode9() {
return Number[8];
}
public void setCode9(long code9) {
this.Number[8] = code9;
}
public long getCode10() {
return Number[9];
}
public void setCode10(long code10) {
this.Number[9] = code10;
}
//10 个电话号码
public String getFirstday() {
return Firstday;
}
public void setBrithday(String Firstday) {
this.Firstday = Firstday;
}//about birthday
public String getWorkplacce() {
return Workad;
}
public void setWorkplacce(String Workad) {
this.Workad = Workad;
}//工作地址
public String getTxdz() {
return Conect;
}
public void setTxdz(String Conect) {
this.Conect = Conect;
}//通讯地址
public String getbeizhu() {
return Others;
}
public void setbeizhu(String Others) {
this.Others = Others;
}//备注项
public String getname() {
return Name;
}
public void Setname(String name ) {
this.Name=name;
}
//获取名字
public void setsex (String sex) {
this.sex=sex;
}
public String getsex() {
return sex;
}//获取性别
public void setYouxiang (String youxiang) {
this.Youxiang=youxiang;
}
public String getYouxiang() {
return Youxiang;
}//获取邮箱
public 名片(String name,long number,String sex,String workspace,String conect,String youxiang,String firstday,String others) {
this.Name=name;
this.Number[0]=number;
this.sex=sex;
this.Workad=workspace;
this.Conect=conect;
this.Youxiang=youxiang;
this.Others=others;
}
public String ToString() {
return "姓名:"+Name+"\n"+"性别:"+sex+"\n"+"工作地址:"+Workad+"\n"+"通讯地址:"+Conect+"\n"+"生日:"+Firstday+"\n"+"备注:"+Others+"\n";
}
}
(2)主程序
package 通讯录;
import java.util.*;
import java.io.*;
public class TelePhone {
public static void main(String[] args)throws java.io.IOException {
java.io.File file =new java.io.File("d://程序设计作业通讯录.txt");
if(!file.exists())
{
file.createNewFile();
}
Scanner haha=new Scanner(file);
Scanner input= new Scanner(System.in);
ArrayList<名片> LB=new ArrayList<名片>();
if(file.length()!=0)
{
while(haha.hasNext())
{
long[] Number=new long[10];
String s=haha.nextLine();
String [] CHUCUN=s.split(",");//切割
String name=CHUCUN[0];
String sex=CHUCUN[1];
String workspace=CHUCUN[2];
String conect=CHUCUN[3];
String firstday=CHUCUN[4];
String others=CHUCUN[5];
String youxiang=CHUCUN[6];
名片 MP=new 名片(name,Number[0],sex,workspace,conect,youxiang,firstday,others);
MP.setbeizhu(others);
MP.setBrithday(firstday);
MP.setCode1(Number[0]);//要为多个号码进行操作
MP.Setname