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;
   }


  }
 }
}

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

相关文章

  • 调用Process.waitfor导致的进程挂起问题及解决

    调用Process.waitfor导致的进程挂起问题及解决

    这篇文章主要介绍了调用Process.waitfor导致的进程挂起问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • Spring Boot 中的 Spring Cloud Feign的原理解析

    Spring Boot 中的 Spring Cloud Feign的原

    Spring Cloud Feign 是 Spring Cloud 中的一个组件,它可以帮助我们实现声明式的 REST 客户,这篇文章主要介绍了Spring Boot 中的 Spring Cloud Feign,需要的朋友可以参考下
    2023-07-07
  • java实现socket从服务器连续获取消息的示例

    java实现socket从服务器连续获取消息的示例

    这篇文章主要介绍了java实现socket从服务器连续获取消息的示例,需要的朋友可以参考下
    2014-04-04
  • 一文带你彻底理解Java序列化和反序列化

    一文带你彻底理解Java序列化和反序列化

    这篇文章主要介绍了Java序列化和反序列化的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-09-09
  • Java的正则表达式深入分析

    Java的正则表达式深入分析

    本篇文章介绍了,Java的正则表达式深入分析。需要的朋友参考下
    2013-04-04
  • Java 堆排序实例(大顶堆、小顶堆)

    Java 堆排序实例(大顶堆、小顶堆)

    下面小编就为大家分享一篇Java 堆排序实例(大顶堆、小顶堆),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • java8 stream的多字段排序实现(踩坑)

    java8 stream的多字段排序实现(踩坑)

    这篇文章主要介绍了java8 stream的多字段排序实现(踩坑),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • 剑指Offer之Java算法习题精讲数组与字符和等差数列

    剑指Offer之Java算法习题精讲数组与字符和等差数列

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • Java设计模式的策略模式简析

    Java设计模式的策略模式简析

    这篇文章主要介绍了Java设计模式的策略模式简析,策略模式中定义了一系列的算法族,算法族指的是类似于一系列的行为、策略,策略模式将一系列的行为封装成类,既可以说是将每一种相类似的行为都封装成一个类,也有可能存在特殊的不进行封装的行为,需要的朋友可以参考下
    2023-12-12
  • spring 和 spring boot 中的属性配置方式

    spring 和 spring boot 中的属性配置方式

    这篇文章主要介绍了spring 和 spring boot 中的属性配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论