我的第一个Java项目——客户管理

简介: 我的第一个Java项目——客户管理

成果展示

初始化界面:

image.png



功能一:添加客户

image.png

我们来看看添加后的效果:

image.png


可以看见我们是添加成果了,我们可以继续下面的操作。


功能二:修改客户


image.png

我们来看看是否修改成功:


image.png


可以看到我们是修改成功的!!!


功能三:客户删除

image.png


从图上看我们是删除成功的


功能四:展示客户列表

image.png


因为刚才把鲨鱼辣椒删了所以现在只剩铁甲小宝了哈哈哈哈哈哈哈哈哈哈。


思路分析

我们可以把这个项目分为三个部分:


1.数据的存储部分。


2.一些功能函数部分。


3.可视化界面部分。


1.


首先我们来看看数据的存储是怎么构建的:


我们先创建一个Customer的一个Java文件,用来存储数据,使用构造器初始化数据,并且用private进行封装一些数据。并且用 set 和 get 获取数据。


2.


四个功能函数的实现


第一个就是添加客户数据,我们看下面的代码实现!!


 

public boolean addcust(Customer customer){
        if (total >= customers.length){return false;
        }else{
            customers[total++] = customer;
        }
        return true;
    }

第二个修改:


 

public  boolean replacecust(int index , Customer customer){
        if (index<0 || index >= customers.length){
            return false;
        }else{
            customers[index] = customer;
        }
        return true;
    }

第三个删除:



 

public boolean deletecust(int index){
        if (index<0 || index >= customers.length){
            return false;
        }
       for(int i = index; i< total - 1;i++){
           customers[i] = customers[i+1];
       }
       customers[total-1 ]= null;
       total --;
        return true;
    }

第四个查看所有的客户:


 

public  Customer[] getCustomers(){
        Customer[] cus = new Customer[total];
        for(int i = 0; i < total; i++){
            cus[i] = customers[i];
        }
        return cus;


嘿嘿嘿,我就偷个懒,思路我就不具体写了,大家可以看代码嘿嘿嘿!


3.


也就是我们在上面看见的可视化的部分,所以我们来构建这部分:


先创建能让我们看见的部分:

image.png



我们在使用功能的时候也是用的数字选择,我们可以使用switch结构进行选择,并且在相应的数字里面调用相对应的函数:

image.png



代码部分

1.数据存储部分:

package cus;
public class Customer {
    private String name;
    private char grade;
    private  int age;
    private String phone;
    private String email;
    public void setName(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public int getAge() {
        return age;
    }
    public void setGrade(char grade) {
        this.grade = grade;
    }
    public char getGrade() {
        return grade;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getEmail() {
        return email;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getPhone() {
        return phone;
    }
    public Customer(){
    }
    public Customer(String name ,int age , char grade, String email,String phone ){
        this.name = name;
        this.email = email;
        this.grade = grade;
        this.age = age;
        this.phone = phone;
    }
}


2.函数功能部分:


package cus;
public class CustomerList {
    private Customer[] customers;
    private static int total = 0;
    public CustomerList(int totalCustomerList){
        customers = new Customer[totalCustomerList];
    }
    public boolean addcust(Customer customer){
        if (total >= customers.length){return false;
        }else{
            customers[total++] = customer;
        }
        return true;
    }
    public  boolean replacecust(int index , Customer customer){
        if (index<0 || index >= customers.length){
            return false;
        }else{
            customers[index] = customer;
        }
        return true;
    }
    public boolean deletecust(int index){
        if (index<0 || index >= customers.length){
            return false;
        }
       for(int i = index; i< total - 1;i++){
           customers[i] = customers[i+1];
       }
       customers[total-1 ]= null;
       total --;
        return true;
    }
    public  Customer[] getCustomers(){
        Customer[] cus = new Customer[total];
        for(int i = 0; i < total; i++){
            cus[i] = customers[i];
        }
        return cus;
    }
    public Customer getCust(int indsx){
        if(indsx<0 || indsx >= total){
            return null;
        }
        return customers[indsx];    }
    public   int getTotal(){
        return total;
    }
}


3.可视化界面部分:


package cus;
import java.util.Scanner;
public class View {
    private static CustomerList customerList = new CustomerList(10);
    public View(){
        Customer customer = new Customer("李华",18,'8',"2222@qq.com","123445697");
        customerList.addcust(customer);
    }
    public void enterMain(){
        System.out.println("1.添加用户");
        System.out.println("2.修改客户");
        System.out.println("3.删除客户");
        System.out.println("4.客户列表");
        System.out.println("5.退出");
    }
    public static void main(String[] args) {
        View view = new View();
        Scanner scanner = new Scanner(System.in);
        boolean ifFage = true;
        while (ifFage){
            view.enterMain();
            System.out.println("请输入:");
            switch (scanner.nextInt()){
                case 1:
                    addNewcust();
                    break;
                case 2:
                    modifyCust();
                    break;
                case 3:
                    System.out.println("请输入序号:");
                    deleetCust();
                    break;
                case 4:
                    listAllCustomer();
                    break;
                case 5:
                    System.out.println("是否退出?(1:退出,2:继续!!)");
                    if (scanner.nextInt() == 1){
                    System.out.println("退出!");
                    ifFage = false;}
            }
        }
    }
    private static void  addNewcust(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("姓名:");
        String name = scanner.nextLine();
        System.out.println("年龄:");
        int age = scanner.nextInt();
        System.out.println("性别:");
        char grade = (char)scanner.nextInt();
        System.out.println("邮箱:");
        String email = scanner.next();
        System.out.println("电话:");
        String phone = scanner.next();
        Customer customer = new Customer(name,age,grade,email,phone);
        customerList.addcust(customer);
        System.out.println("添加成功!");
//        System.out.println("方法1");
    }
    private static void modifyCust(){
        Scanner scanner = new Scanner(System.in);
        Customer cust = null ;
        int t;
        for (;;) {
            System.out.println("输入-1退出!");
            t = scanner.nextInt();
            if (t == -1 ) break;
            cust = customerList.getCust(t-1);
            if(cust == null){
                System.out.println("没有该用户!");
            }else{
                break;
            }
        }
        System.out.println("姓名("+cust.getName()+")");
        System.out.println("修改为:");
        String name = scanner.next();
        System.out.println("年龄("+cust.getAge()+")");
        System.out.println("修改为:");
        int age = scanner.nextInt();
        System.out.println("性别("+cust.getGrade()+")");
        System.out.println("修改为:");
        char grade = (char)scanner.nextInt();
        System.out.println("邮箱("+cust.getEmail()+")");
        System.out.println("修改为:");
        String email = scanner.next();
        System.out.println("手机("+cust.getPhone()+")");
        System.out.println("修改为:");
        String phone = scanner.next();
        Customer customer = new Customer(name,age,grade,email,phone);
        boolean i = customerList.replacecust(t-1,customer);
        if (i == false ){
            System.out.println("修改失败!");
        }else{
            System.out.println("修改成功!");
        }
    }
    private static void deleetCust(){
        int total = customerList.getTotal();
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        if(a <0 || a>total)
        {System.out.println("没有该用户!");}else{
        boolean customer1 = customerList.deletecust(a-1);
        if (customer1 == false){
            System.out.println("删除失败!");
        }else {
            System.out.println("删除成功!!");
        }
        }
    }
    private static void listAllCustomer(){
        int total = customerList.getTotal();
        if (total == 0){
            System.out.println("没有客户记录!");
        }else{
            System.out.println("客户名单:");
            Customer[] custs = customerList.getCustomers();
            for(int i = 0; i<custs.length ; i++) {
                Customer cust = custs[i];
                System.out.println(i+1+"\t"+cust.getName()+"\t"+cust.getAge()+"\t"+cust.getEmail()+"\t"+cust.getPhone()+"\t"+cust.getGrade());
            }
        }
    }
}




目录
相关文章
|
3月前
|
关系型数据库 MySQL Java
【MySQL+java+jpa】MySQL数据返回项目的感悟
【MySQL+java+jpa】MySQL数据返回项目的感悟
59 1
|
3月前
|
编解码 Oracle Java
java9到java17的新特性学习--github新项目
本文宣布了一个名为"JavaLearnNote"的新GitHub项目,该项目旨在帮助Java开发者深入理解和掌握从Java 9到Java 17的每个版本的关键新特性,并通过实战演示、社区支持和持续更新来促进学习。
111 3
|
22天前
|
Java Maven
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
在Java项目中,启动jar包时遇到“no main manifest attribute”错误,且打包大小明显偏小。常见原因包括:1) Maven配置中跳过主程序打包;2) 缺少Manifest文件或Main-Class属性。解决方案如下:
java项目中jar启动执行日志报错:no main manifest attribute, in /www/wwwroot/snow-server/z-server.jar-jar打包的大小明显小于正常大小如何解决
|
1天前
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
23 6
|
1天前
|
Java 数据库连接 数据库
【潜意识Java】深度分析黑马项目《苍穹外卖》在Java学习中的重要性
《苍穹外卖》项目对Java学习至关重要。它涵盖了用户管理、商品查询、订单处理等模块,涉及Spring Boot、MyBatis、Redis等技术栈。
18 4
|
19天前
|
存储 Java BI
java怎么统计每个项目下的每个类别的数据
通过本文,我们详细介绍了如何在Java中统计每个项目下的每个类别的数据,包括数据模型设计、数据存储和统计方法。通过定义 `Category`和 `Project`类,并使用 `ProjectManager`类进行管理,可以轻松实现项目和类别的数据统计。希望本文能够帮助您理解和实现类似的统计需求。
68 17
|
1月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
147 26
|
2月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
81 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
2月前
|
Java
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
|
2月前
|
Java Android开发
Eclipse 创建 Java 项目
Eclipse 创建 Java 项目
57 4