用以前学过的知识,可以简单地做一个超市库存管理系统:

定义一个商品类:

public class FruitItem {
int ID;
String name;
double price;
int number;
double money;
}

然后:

import java.util.ArrayList;
import java.util.Scanner; public class Shop { public static void main(String[] args) {
ArrayList<FruitItem> array = new ArrayList<FruitItem>();
init(array);
while (true) {
mainMenu();
int choose = chooseFunction();
switch (choose) {
case 1:
showFruitList(array);
break;
case 2:
addFruit(array);
break;
case 3:
deleteFruit(array);
break;
case 4:
updateFruit(array);
break;
case 5:
return;
default:
System.out.println("输入的序号不存在");
break;
}
}
} public static void updateFruit(ArrayList<FruitItem> array){
System.out.println("您选择的是修改功能");
System.out.println("请输入商品编号:");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
for (int i = 0; i < array.size(); i++) {
FruitItem item =array.get(i);
if(item.ID==ID){
System.out.println("请输入新的商品编号:");
item.ID = sc.nextInt();
System.out.println("请输入新的商品名称:");
item.name = sc.next();
System.out.println("请输入新的商品价格:");
item.price = sc.nextDouble();
System.out.println("商品修改成功");
return;
}
}
System.out.println("您输入的编号不存在");
} public static void deleteFruit(ArrayList<FruitItem> array){
System.out.println("您选择的是删除功能");
System.out.println("请输入商品的编号:");
Scanner sc = new Scanner(System.in);
int ID = sc.nextInt();
for (int i = 0; i < array.size(); i++) {
FruitItem item = array.get(i);
if(item.ID == ID){
array.remove(i);
System.out.println("删除成功");
return;
}
}
System.out.println("您输入的编号不存在"); } public static void addFruit(ArrayList<FruitItem> array) {
System.out.println("您选择的是添加商品功能");
Scanner sc = new Scanner(System.in);
System.out.println("请输入商品的编号:");
int ID = sc.nextInt();
System.out.println("请输入商品的名字:");
String name = sc.next();
System.out.println("请输入商品的单价:");
double price = sc.nextDouble();
FruitItem item = new FruitItem();
item.ID = ID;
item.name = name;
item.price = price;
array.add(item);
} public static void showFruitList(ArrayList<FruitItem> array) {
System.out.println();
System.out.println("==========商品库存清单==========");
System.out.println("商品编号 商品名称 商品单价");
for (int i = 0; i < array.size(); i++) {
FruitItem item = array.get(i);
System.out.println(item.ID + " " + item.name + " " + item.price);
}
} public static void init(ArrayList<FruitItem> array) {
FruitItem f1 = new FruitItem();
f1.ID = 9527;
f1.name = "香蕉";
f1.price = 3.0;
FruitItem f2 = new FruitItem();
f2.ID = 9008;
f2.name = "苹果";
f2.price = 5.6;
FruitItem f3 = new FruitItem();
f3.ID = 9879;
f3.name = "橘子";
f3.price = 6.6;
array.add(f1);
array.add(f2);
array.add(f3);
} public static void mainMenu() {
System.out.println();
System.out.println("==========欢迎光临某某超市==========");
System.out.println("1:货物清单 2:添加货物 3:删除货物 4:修改货物 5:退出");
System.out.println("请您输入要操作的功能序号");
} public static int chooseFunction() {
Scanner sc = new Scanner(System.in);
return sc.nextInt();
}
}

Java学习笔记7(简易的超市库存管理系统示例)的更多相关文章

  1. java全栈day07---Eclipse开发工具 超市库存管理系统

    前六天我们都是用Notepad++来编写java程序,通过DOS命令来运行,我们发现这样比较繁琐,那么我们今天就用一个工具Eclipse来开发java Eclipse的下载安装 * A: Eclips ...

  2. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  3. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  4. 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁

    什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...

  5. 0035 Java学习笔记-注解

    什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...

  6. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  7. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  8. 0030 Java学习笔记-面向对象-垃圾回收、(强、软、弱、虚)引用

    垃圾回收特点 垃圾:程序运行过程中,会为对象.数组等分配内存,运行过程中或结束后,这些对象可能就没用了,没有变量再指向它们,这时候,它们就成了垃圾,等着垃圾回收程序的回收再利用 Java的垃圾回收机制 ...

  9. 0028 Java学习笔记-面向对象-Lambda表达式

    匿名内部类与Lambda表达式示例 下面代码来源于:0027 Java学习笔记-面向对象-(非静态.静态.局部.匿名)内部类 package testpack; public class Test1{ ...

随机推荐

  1. 通过ssh訪问NAT网络模式虚拟机里的Linux

    进入 GuestOS : #/sbin/ifconfig 查看 inet addr : 10.0.2.15 然后到 HostOS 去, 看控制面板, 看网络和共享中心的VirtualBox Host- ...

  2. Android OpenGL ES(八)----纹理编程框架

    1.把纹理载入进OpenGL中 我们的第一个任务就是把一个图像文件的数据载入到一个OpenGL的纹理中. 作为開始.让我们又一次舍弃第二篇的框架.又一次创建一个程序,新建一个util工具包,在该包下创 ...

  3. 一段文字中的几个keyword显示高亮

    将一段文字中的几个keyword显示高亮 演示样例:将"我的愿望是当个绿巨人,所以我想让我的皮(derma)肤是绿色"中的"皮肤"显示绿色. <span ...

  4. JS和JQuery中的事件托付 学习笔记

    事件托付事实上并非一个非常高级的技巧,比方在一个页面里面.当仅仅存在两个button的时候.可能你给button加入监听是这种:(本文不考虑浏览器兼容性.关于事件的兼容性可參考前面的学习笔记) < ...

  5. java中websocket的应用

    在上一篇文章中,笔者简要介绍了websocket的应用场景及优点,戳这里 这篇文章主要来介绍一下在java项目中,特别是java web项目中websocket的应用. 场景:我做了一个商城系统,跟大 ...

  6. pycharm运行scrapy

    1.打开pycharm, 点击File>Open找到mySpider项目导入 . 2.打开File>Settings>Project 点击Project Interpreter 右边 ...

  7. 深入理解计算机系统_3e 第八章家庭作业 CS:APP3e chapter 8 homework

    8.9 关于并行的定义我之前写过一篇文章,参考: 并发与并行的区别 The differences between Concurrency and Parallel +---------------- ...

  8. springCloud项目练习

    1.https://gitee.com/xfdm/FCat angular4.springcloud开源实战项目:FCat项目(springcloud.mybatis.redis.angular4)是 ...

  9. 推荐的五款市面上常用的免费CMS建站系统

    我做设计也有不少年头了,很多客户或者朋友找我做网站的时候,一般问我的是用什么软件系统给他们做.大部分客户希望用的软件是免费的.所以今天给大家介绍五款我自己用过还不错的,重点是还免费的建站系统. Met ...

  10. Docker(四):Docker基本网络配置

    1.Libnetwork Libnetwork提出了新的容器网络模型简称为CNM,定义了标准的API用于为容器配置网络. CNM三个重要概念: 沙盒:一个隔离的网络运行环境,保存了容器网络栈的配置,包 ...