• 面向对象设计大作业——QQ或者微信的“联系人”功能


    1.功能调查与系统功能框架图

    (1)功能调查:

    “联系人”界面,有“搜索功能”,“好友分组”

    还有“好友列表”、“群聊列表”

    进入好友界面,有“备注、昵称、QQ号、QQ等级、资料信息、个性签名”这些属性,有“音视频通话、送礼物、发信息”方法。

    进入群聊界面,有“群聊名称、群介绍、群成员信息、群号和二维码、群公告”的属性,有“修改群昵称、置顶、查找聊天记录、删除聊天记录、退出该群”的方法。如果群主是自己,则可以解散群聊或者转让该群。

    (2)系统功能框架:

    联系人里有好友列表、好友分组、群聊列表和搜索功能。好友分组和好友列表都能列出好友然后查看好友信息(属性)或者和好友发消息(方法)。群聊列表则是列出群聊然查看群聊信息(属性)或者实现一些群聊操作,如“修改群昵称、置顶、查找聊天记录、删除聊天记录、退出该群”(方法)。如果群主是自己,则可以解散群聊或者转让该群(体现多态)。

    2.类的设计:UML类图,应展现主要类之间的关系。

    通迅录中的信息包括:姓名,公司,联系电话,邮编。
    要求的操作有:添加一个联系人,列表显示所有联系人。

    import java.util.Scanner;
    class Comm{
    
        Comm(String name,String company,String tell,String code){
            this.person= name;
            this.company = company;
            this.code  = code;
            this.tell = tell;
        }
        String person ;
        String company;
        String tell;
        String code;
    }
    public class Test{
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
    
            int select;
            while(true) {
                System.out.println("------请输入需要的操作-------");
                System.out.println("输入“1”添加联系人--输入“2”查看联系人列表");
                CommEntry a = new CommEntry();
                select = input.nextInt();
                switch(select) {
                    case 1:{a.add();break;}
                    case 2:{a.seek();break;}
                    default:{
                        break;
                    }
                }
            }
        }
    }
    class CommEntry {
    
        static int comm_number;
        public  static Comm[] a = new Comm[10];
        Scanner input1 = new Scanner(System.in);
    
        public void add() {
            if (comm_number >= 10)
                System.out.println("联系人列表已满,联系人添加失败!!!");
            else {
                System.out.println("请输入联系人:姓名 公司 电话 邮编");
                a[comm_number] = new Comm(input1.next(),input1.next(),input1.next(),input1.next());
                comm_number++;
                System.out.println("联系人"+ a[comm_number-1].person +"添加成功");
            }
        }
    
        public void seek() {
    
            System.out.println("-------------联系人列表----------");
            System.out.println("姓名	公司	电话	邮编");
            for (int i = 0; i < comm_number; i++) {
                System.out.println(a[i].person + "	"
                                 + a[i].company + "	"
                                 + a[i].tell + "	"
                                 + a[i].code);
            }
        }
    }
    
  • 相关阅读:
    Elastic 技术栈之快速入门
    JDK8 指南(译)
    Intellij IDEA 使用小结
    面向对象1
    函数总结
    Python中i = i + 1与i + = 1的区别
    python中变量的交换
    python的数据类型的有序无序
    对列表里的字典按年龄从小到大排序
    centos7安装python3
  • 原文地址:https://www.cnblogs.com/zhangpucyll/p/14108762.html
Copyright © 2020-2023  润新知