Java实现简单的通讯录

慈云数据 1年前 (2024-03-18) 技术支持 56 0

每日一言

泪眼问花花不语,乱红飞过秋千去。 —欧阳修-


简单的通讯录实现,跟写Java实现图书管理系统差不多,用到的知识也差不多,就当个小练习,练习一下写Java程序的手感。

Java实现图书管理系统

关于通讯录的代码都写在下面了

1. 代码

1.1 contact 包

1.1.1 Contact

package contact;
public class Contact {
    private int size;//当前占用容量
    private Person[] people = new Person[3];
    public int getSize() {
        return size;
    }
    public void setSize(int size) {
        this.size = size;
    }
    public Person getPerson(int pos) {
        return people[pos];
    }
    public void setPerson(Person person,int pos) {
        this.people[pos] = person;
    }
    public Boolean isFull(Contact contact) {
        return contact.getSize() == people.length;
    }
}

1.1.2 Person

package contact;
public class Person {
    private string name;
    private String sex;
    private int age;
    private String telephone;
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    @Override
    public String toString() {
        return "Person{" +
                "名字='" + name + '\'' +
                ", 性别='" + sex + '\'' +
                ", 年龄=" + age +
                ", 电话='" + telephone + '\'' +
                '}';
    }
    public Person(String name, String sex, int age, String telephone) {
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.telephone = telephone;
    }
}

1.2 option 包

1.2.1 AddContact

package option;
import contact.Contact;
import contact.Person;
import java.util.Scanner;
public class AddContact implements IOperation{
    @Override
    public void work(Contact contact) {
        if(contact.isFull(contact)) {
            System.out.println("通讯录已满,无法添加!");
            return;
        }else {
            Scanner scanner = new Scanner(System.in);
            System.out.println("请输入联系人姓名:>");
            String name = scanner.nextLine();
            System.out.println("请输入联系人性别:>");
            String sex = scanner.nextLine();
            System.out.println("请输入联系人年龄:>");
            int age = scanner.nextInt();
            System.out.println("请输入联系人电话:>");
            String telephone = scanner.next();
            Person person = new Person(name,sex,age,telephone);
            int size = contact.getSize();
            contact.setPerson(person,size);
            contact.setSize(size+1);
            System.out.println("添加成功!");
        }
    }
}

1.2.2 DelContact

package option;
import contact.Contact;
import java.util.Scanner;
public class DelContact implements IOperation{
    @Override
    public void work(Contact contact) {
        int size = contact.getSize();
        if(0 == size) {
            System.out.println("通讯录为空,无法删除!");
            return;
        }else {
            System.out.println("请输入要删除的联系人姓名");
            Scanner scanner = new Scanner(System.in);
            String name = scanner.nextLine();
            for (int i = 0; i  

1.2.3 ExitContact

package option;
import contact.Contact;
public class ExitContact implements IOperation{
    @Override
    public void work(Contact contact) {
        //释放占用内存
        for (int i = 0; i  

1.2.4 FindContact

package option;
import contact.Contact;
import java.util.Scanner;
public class FindContact implements IOperation{
    @Override
    public void work(Contact contact) {
        int size = contact.getSize();
        System.out.println("请输入要查找的联系人姓名");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        for (int i = 0; i  

1.2.5 IOperation 接口

package option;
import contact.Contact;
public interface IOperation {
    void work(Contact contact);
}

1.2.6 ModifyContact

package option;
import contact.Contact;
import contact.Person;
import java.util.Scanner;
public class ModifyContact implements IOperation{
    @Override
    public void work(Contact contact) {
        int size = contact.getSize();
        System.out.println("请输入要修改的联系人姓名");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        for (int i = 0; i ");
                String name1 = scanner.nextLine();
                System.out.println("请输入联系人性别:>");
                String sex = scanner.nextLine();
                System.out.println("请输入联系人年龄:>");
                int age = scanner.nextInt();
                System.out.println("请输入联系人电话:>");
                String telephone = scanner.next();
                Person person = new Person(name1,sex,age,telephone);
                contact.setPerson(person,i);
                System.out.println("修改成功!");
                return;
            }
        }
        System.out.println("没有你要修改的联系人!");
    }
}

1.2.7 ShowContact

package option;
import contact.Contact;
public class ShowContact implements IOperation{
    @Override
    public void work(Contact contact) {
        if(0 == contact.getSize()) {
            System.out.println("通讯录为空");
            return;
        }else {
            for (int i = 0; i  

1.3 Main

import contact.Contact;
import option.AddContact;
import java.util.Scanner;
public class Main {
    public static int menu() {
        System.out.println("*********************");
        System.out.println("1.新增联系人");
        System.out.println("2.删除联系人");
        System.out.println("3.展示联系人");
        System.out.println("4.查找联系人");
        System.out.println("5.修改联系人");
        System.out.println("0.退出通讯录");
        System.out.println("*********************");
        System.out.println("请输入选项:>");
        Scanner scanner = new Scanner(System.in);
        return scanner.nextInt();
    }
    public static void main(String[] args) {
        int op;
        User user = new User();
        Contact contact = new Contact();
        do {
            op = menu();
            if(op > user.iOperation.length || op  

1.4 User

import contact.Contact;
import option.*;
public class User {
    IOperation[] iOperation = new IOperation[]{
            new ExitContact(),
            new AddContact(),
            new DelContact(),
            new ShowContact(),
            new FindContact(),
            new ModifyContact(),
    };
    public void doOperation(Contact contact,int op) {
        this.iOperation[op].work(contact);
    }
}

2. 效果

2.1 添加联系人

在这里插入图片描述

2.2 展示联系人

在这里插入图片描述

2.3 删除联系人

在这里插入图片描述

2.4 查找联系人

在这里插入图片描述

2.5 修改联系人

在这里插入图片描述

2.6 退出通讯录

在这里插入图片描述


结语

请给自己些耐心,一口吃不成胖子。

山外青山楼外楼,莫把百尺当尽头。

保持空杯心态加油努力吧!


都看到这里啦!真棒(*^▽^*)

可以给作者一个免费的赞赞吗,这将会鼓励我继续创作,谢谢大家

编程小白写作,如有纰漏或错误,欢迎指正


微信扫一扫加客服

微信扫一扫加客服