java实现超市管理系统

 更新时间:2020年12月23日 11:14:17   作者:气死的笨喵  
这篇文章主要为大家详细介绍了java实现超市管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了java实现超市管理系统的具体代码,供大家参考,具体内容如下

实现功能

使用选择结构,循环结构,数组的知识实现一个超市管理系统

运行结果:货物清单:

添加商品功能:

删除商品功能:

修改商品:

商品货物实体类

import java.util.Arrays;

public class Goods {
 private int id;
 private double price;
 private String name;

 public Goods(int id, double price, String name) {
  this.id = id;
  this.price = price;
  this.name = name;
 }

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public double getPrice() {
  return price;
 }

 public void setPrice(double price) {
  this.price = price;
 }

 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }

 public Goods() {
 }

 //增加商品
 public Goods[] add(Goods[]goods,Goods newGood){
  goods= Arrays.copyOf(goods,goods.length+1);
  goods[goods.length-1]=newGood;
  return goods;
 }
 //删除商品
 public static Goods[] del(Goods[]goods,int id){
  int i=0;
  while(true){
   if(goods[i].getId()==id){
    goods[i]=null;
    return goods;
   }
   i++;
   if(i>=goods.length){
    return goods;
   }
  }

 }
 //添加商品
 public static Goods[] change(Goods[]goods,int id,int newId,double newPrice,String newName){
  int i=0;
  while (true){
   if(goods[i].getId()==id){
   goods[i].setId(newId);
   goods[i].setPrice(newPrice);
   goods[i].setName(newName);
   return goods;
  }
   i++;
   if(i>=goods.length){
    return goods;
   }
  }
 }
}

超市管理系统类

import java.util.Scanner;

public class marketManager {
 public static void main(String[] args) {
  Scanner sc = new Scanner(System.in);
  Goods g1=new Goods(1000,10,"笔记本");
  Goods g2=new Goods(1001,2,"西红柿");
  Goods g3=new Goods(1002,5,"辣条");
  Goods []goods={g1,g2,g3};
  while (true) {
   System.out.println("========超市管理系统=======");
   System.out.println("1.货物清单 2.增加商品 3.删除商品 4.修改商品 5.退出");
   System.out.println("请输入你要操作的编号:");
   int i = sc.nextInt();
   switch (i){
    case 1:
     System.out.println("=======商品清单=======");
     System.out.println("商品编号"+"\t\t"+"商品单价"+"\t\t"+"商品名称");
     for (Goods a:goods) {
      if(a==null){
       continue;
      }
      System.out.println(a.getId()+"\t\t"+a.getPrice()+"\t\t"+a.getName());

     }
     continue;
    case 2:
     System.out.println("你选择的是增加商品的功能");
     System.out.println("请输入你要添加的编号:");
     int Id = sc.nextInt();
     System.out.println("请输入你要添加的商品价格:");
     double price = sc.nextDouble();
     System.out.println("请输入你要添加的商品名称");
     String name = sc.next();
     Goods good=new Goods(Id,price,name);
     goods = good.add(goods, good);
     System.out.println("添加成功!");
     continue;
    case 3:
     System.err.println("你选择的是删除商品功能");
     System.out.println("请输入你要操作的编号:");
     Id = sc.nextInt();
     goods=Goods.del(goods,Id);
     System.out.println("删除成功!");
     continue;
    case 4:
     System.out.println("你选择的是修改商品功能");
     System.out.println("请输入你要操作的编号:");
     Id=sc.nextInt();
     System.out.println("请输入修改后的编号:");
     int newId = sc.nextInt();
     System.out.println("请输入修改后的价格:");
     double newPrice = sc.nextDouble();
     System.out.println("请输入修改后的商品名称:");
     String newName=sc.next();
     goods=Goods.change(goods,Id,newId,newPrice,newName);
     continue;
    case 5:
     return;
   }


  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • @Column映射不一致的解决

    @Column映射不一致的解决

    这篇文章主要介绍了@Column映射不一致的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 关于Java多线程上下文切换的总结

    关于Java多线程上下文切换的总结

    CPU通过时间片分配算法来循环执行任务,当前任务执行一个时间片后会切换到下一个任务。但是,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再次加载这个任务的状态,从任务保存到再加载的过程就是一次上下文切换,需要的朋友可以参考下
    2023-05-05
  • 使用Feign调用第三方http接口

    使用Feign调用第三方http接口

    这篇文章主要介绍了使用Feign调用第三方http接口,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • SpringCloud Bus如何实现配置刷新

    SpringCloud Bus如何实现配置刷新

    这篇文章主要介绍了SpringCloud Bus如何实现配置刷新,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Spring Cloud动态配置刷新RefreshScope使用示例详解

    Spring Cloud动态配置刷新RefreshScope使用示例详解

    这篇文章主要为大家介绍了Spring Cloud动态配置刷新RefreshScope使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • spring-cloud入门之eureka-server(服务发现)

    spring-cloud入门之eureka-server(服务发现)

    本篇文章主要介绍了spring-cloud入门之eureka-server(服务发现),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • SpringBoot发送邮箱验证码功能

    SpringBoot发送邮箱验证码功能

    这篇文章主要介绍了SpringBoot发送邮箱验证码功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • mybatis注解之@Mapper和@MapperScan的使用

    mybatis注解之@Mapper和@MapperScan的使用

    这篇文章主要介绍了mybatis注解之@Mapper和@MapperScan的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • 一文搞懂并学会使用SpringBoot的Actuator运行状态监控组件的详细教程

    一文搞懂并学会使用SpringBoot的Actuator运行状态监控组件的详细教程

    这篇文章主要介绍了一文搞懂并学会使用SpringBoot的Actuator运行状态监控组件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • java中\t,\n,\r,\b,\f 的作用及说明

    java中\t,\n,\r,\b,\f 的作用及说明

    这篇文章主要介绍了java中\t,\n,\r,\b,\f 的作用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07

最新评论