Java弄一个简易的商品管理系统基于运行命令行窗口

渡星河
2022-12-14 / 0 评论 / 11 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年12月15日,已超过644天没有更新,若内容或图片失效,请留言反馈。

基本功能(基于id进行)

运行结果

结果

测试类

package arr;

import java.util.Scanner;

public class test {
    public static void main(String[] args) {
        function fun = new function();
        Scanner scanner = new Scanner(System.in);
        System.out.println("进入系统请按数字进行选择");
        System.out.println("----------------------------------------------------");
        System.out.println("1:添加商品\t2:删除商品\t3:修改商品\t4:查找商品\t5:遍历商品\t6:商品数量\t0:退出系统");
        while (!scanner.hasNext("0")){
            String num = scanner.next();
            switch (num){
                case "1" -> fun.addShop();
                case "2" -> fun.delShop();
                case "3" -> fun.editShop();
                case "4" -> fun.getShop();
                case "5" -> fun.traverse();
                case "6" -> System.out.println(fun.size);
                default -> System.out.println("输入错误退出请按0");
            }
        }
    }
}

方法类

package arr;

import java.util.Scanner;

public class function {
    //初始化
    int h = 6,l=4;
    String[][] db = new String[h][l];
    //记录商品数量
    int size = 0;
    Scanner scanner = new Scanner(System.in);
    public void addShop(){
        System.out.println("-------------请按照提示依次输入-------------");
        System.out.println("请输入商品名字");
        String name = scanner.next();
        System.out.println("请输入商品介绍");
        String introduce = scanner.next();
        System.out.println("请输入商品价格");
        String price = scanner.next();
        if (name==""||name==null||introduce==""||introduce==null||price==""||price==null){
            System.out.println("添加失败:提交参数为空禁止");
        }else {
            //id
            db[size][0] = String.valueOf(size + 1);
            //名字
            db[size][1] = name;
            //介绍
            db[size][2] = introduce;
            //价格
            db[size][3] = price;
            size++;
            System.out.println("添加成功");
        }
    }
    public void delShop(){
        System.out.println("-------------商品列表-------------");
        //遍历
        traverse();
        System.out.println("\n-------------请输入商品ID进行删除-------------");
        int id = scanner.nextInt();
        if (id>size){
            System.out.println("删除失败:id错误");
        }else {
            delShop(String.valueOf(id));
        }
    }
    public void delShop(String id){
        for (int i = 0;i< size;i++){
            if (db[i][0].equals(id)) {
                for (int j = i+1;j<size;j++){
                    db[i]=db[i+1];
                }
                size--;
                System.out.println("删除成功");
            }
        }
    }
    public void editShop(){
        System.out.println("-------------商品列表-------------");
        //遍历
        traverse();
        System.out.println("\n-------------请根据提示进行修改-------------");
        System.out.println("请输入id");
        int id = scanner.nextInt();
        System.out.println("请输入需要修改的属性");
        String element = scanner.next();
        System.out.println("请输入value的值修改为");
        String value = scanner.next();
        if (id>size){
            System.out.println("修改错误:id错误");
        }else {
            editShop(String.valueOf(id),element,value);
        }
    }
    public void editShop(String id,String element,String value){
        int y;
        switch (element){
            case "name" -> y = 1;
            case "introduce" -> y=2;
            case "price" -> y =3;
            default -> y = 0;
        }
        db[Integer.parseInt(id)-1][y]= value;
        System.out.println("修改成功");
    }
    public void getShop(){
        System.out.println("请输入商品名字");
        String name = scanner.next();
        for (int i =0;i<size;i++){
            if (db[i][1].contains(name)) {
                start(i);
            }
        }
    }

    public void start(int i) {
        System.out.print("[id="+(i+1));
        for (int j = 0;j<db[i].length;j++){
            if (j==0) System.out.print(",name="+db[i][j+1]);
            if (j==1) System.out.print(",introduce="+db[i][j+1]);
            if (j==2) System.out.print(",price="+db[i][j+1]+"]");
        }
    }

    //遍历商品
    public void traverse(){
        for (int i = 0;i< size;i++){
            start(i);
            System.out.println();
        }
    }
}

基于上面改的学生管理系统,进行了代码逻辑的升级,这里只提供方法类

package arr;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class function {
    public function() {
        addStudent("张三","18","男","苗","贵州省","大学","贵州大学");
        addStudent("张4","19","男","苗","贵州省","大学","贵州大学");
        addStudent("张5","189","男","苗","贵州省","大学","贵州大学");
        addStudent("张6","18","男","苗","贵州省","大学","贵州大学");
        addStudent("张7","18","男","苗","贵州省","大学","贵州大学");
        addStudent("张8","18","男","苗","贵州省","大学","贵州大学");
        addStudent("张9","18","男","苗","贵州省","大学","贵州大学");
        addStudent("张99","18","男","苗","贵州省","大学","贵州大学");
    }
    //初始化
    int h = 6,l=8;
    String[][] db = new String[h][l];
    //记录学生数量
    int size = 0;
    Scanner scanner = new Scanner(System.in);
    public void addStudent(){
        System.out.println("-------------请按照提示依次输入-------------");
        System.out.println("请输入学生名字");
        String name = scanner.next();
        System.out.println("请输入"+name+"的年龄");
        String age = scanner.next();
        System.out.println("请输入"+name+"的性别");
        String sex = scanner.next();
        System.out.println("请输入"+name+"的民族");
        String nation = scanner.next();
        System.out.println("请输入"+name+"的地址");
        String address = scanner.next();
        System.out.println("请输入"+name+"的学历");
        String degree = scanner.next();
        System.out.println("请输入"+name+"的学校");
        String school = scanner.next();
        if (name.equals("")||age.equals("")||sex.equals("")||nation.equals("")||address.equals("")||degree.equals("")||school.equals(""))System.out.println("添加失败:提交参数有空禁止添加");
        else addStudent(name,age,sex,nation,address,degree,school);
    }
    public void addStudent(String...arr){
        if (db.length==size) db=expansion(db);//扩容
        String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
        db[size][0]=date;
        for (int i=1,j=0;i<=l-1;i++,j++)db[size][i]=arr[j];
        size++;
        System.out.println("添加成功");
    }
    public void delStudent(){
        System.out.println("-------------学生列表-------------");
        traverse();
        System.out.println("\n-------------请输入学生ID进行删除-------------");
        int id = scanner.nextInt();
        if (id>size||id<0)System.out.println("删除失败:id错误");
        else delStudent(id);
    }
    public void delStudent(int id){
        for (int j = id-1;j<size;j++)db[j]=db[j+1];
        size--;
        if (db.length/2>size&&db.length<6) db=UnExpansion(db);//缩容
        System.out.println("删除成功");
    }
    public void editStudent(){
        System.out.println("-------------学生列表-------------");
        traverse();
        System.out.println("\n-------------请根据提示进行修改-------------");
        System.out.println("请输入id");
        int id = scanner.nextInt();
        System.out.println("请选择你要修改的属性(不区分大小写可以是数字1开头)");
        System.out.println("A:名字\tB:年龄\tC:性别\tD:民族\tE:地址\tF:学历\tG:学校");
        String element = scanner.next();
        int position;
        switch (element){
            case "a", "A","1" -> {
                element="name";
                position=1;
            }
            case "b", "B","2" -> {
                element="age";
                position=2;
            }
            case "c", "C","3" -> {
                element="sex";
                position=3;
            }
            case "d", "D","4" -> {
                element="nation";
                position=4;
            }
            case "e", "E","5" -> {
                element="address";
                position=5;
            }
            case "f", "F","6" -> {
                element="degree";
                position=6;
            }
            case "g", "G","7" -> {
                element="school";
                position=7;
            }
            default -> {
                System.out.println("抱歉输入错误请重新选择功能");
                return;
            }
        }
        System.out.println("将"+element+"的值修改为");
        String value = scanner.next();
        if (id>size||id<0)System.out.println("修改错误:id错误");
        else editStudent(id,value,position);
    }
    public void editStudent(int id,String value,int y){
        db[id-1][y]= value;
        System.out.println("修改成功");
    }
    public void getStudent(){
        System.out.println("请输入学生名字或者录入时间进行查询(支持模糊查询)");
        String name = scanner.next();
        for (int i =0;i<size;i++){
            if (db[i][1].contains(name)||db[i][0].contains(name)) start(i);
            else if (i==size - 1) System.out.println("抱歉没有该学生的信息");
        }
    }

    public void start(int i) {
        System.out.print("[id="+(i+1));
        for (int j = 0;j<db[i].length;j++){
            switch (j){
                case 0 ->System.out.print(",date="+db[i][j]);
                case 1 ->System.out.print(",name="+db[i][j]);
                case 2 ->System.out.print(",age="+db[i][j]);
                case 3 ->System.out.print(",sex="+db[i][j]);
                case 4 ->System.out.print(",nation="+db[i][j]);
                case 5 ->System.out.print(",address="+db[i][j]);
                case 6 ->System.out.print(",degree="+db[i][j]);
                case 7 ->System.out.print(",school="+db[i][j]+"]");
                default -> System.out.println("怎么会出错?");
            }
        }
    }
    //遍历学生
    public void traverse(){
        if (size==0)System.out.println("抱歉没有学生哦,你可以按1进行添加");
        else {
            for (int i = 0;i< size;i++){
                start(i);
                System.out.println("\n--------------------------------------------------------------------------------------------");
            }
        }
    }
    //扩容
    public String[][] expansion(String[][] arr){
        String[][] temp = new String[arr.length*2][l];
        for (int i = 0 ;i<arr.length;i++){
            for (int j = 0;j<arr[i].length;j++){
                temp[i][j]=arr[i][j];
            }
        }
        return temp;
    }
    public String[][] UnExpansion(String[][] arr){
        String[][] temp = new String[arr.length/2][l];
        for (int i = 0 ;i<size;i++){
            for (int j = 0;j<arr[i].length;j++){
                temp[i][j]=arr[i][j];
            }
        }
        return temp;
    }
}
3

评论 (0)

取消