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

定义一个商品类:

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. github搭建个人博客 hexo框架 next主题

    之前就想搭建自己的博客,现在终于得以实施. 参考了多篇博客,然后又在虚拟机了往往复复试了好多次, 现在基本搭建完毕. 我是基于hexo博客框架, next主题搭建的博客, 静态网页.   大体就是, ...

  2. 工作中git 操作汇总

    1. git branch -l  查看本地branch 2. git reset --hard 回滚全部修改 3. git status  查看本地修改 4. git pull 更新代码 5. gi ...

  3. JavaScript 定义类的最佳写法——完整支持面向对象(封装、继承、多态),兼容所有浏览器,支持用JSDuck生成文档

    作者: zyl910 [TOC] 一.缘由 由于在ES6之前,JavaScript中没有定义类(class)语法.导致大家用各种五花八门的办法来定义类,代码风格不统一.而且对于模拟面向对象的三大支柱& ...

  4. dotnetcore 自动迁移工具

    费心思做了一个简单的dotnetcore迁移工具,欢迎大家使用和交流 工具所做的工作: 查找所有输入目录的子目录和上级目录,获取包含*.sln的项目集合,可批量迁移. 替换*.sln文件中的*.csp ...

  5. Django的信号机制

    Django提供一种信号机制.其实就是观察者模式,又叫发布-订阅(Publish/Subscribe) .当发生一些动作的时候,发出信号,然后监听了这个信号的callback函数就会执行. Djang ...

  6. 将java项目打包为jar

    打开Eclipse,点击file,选择export 选择java,选择其中的JAR file并点击next 选择需要的到处的项目,并在下方输入将项目保存为的目录,文件名字. 如果,已经将项目打包为一个 ...

  7. Java实现的电脑已连接WiFi热点的导入导出小工具

    很多时候我们电脑连接了很多无线WiFi,只要连接过一次,电脑就会记下该热点的密码,方便我们下一次连接.但是问题来了,一旦我们重装系统,之前连接过的WiFi就丢失了,想要连接就得再输入密码,为了 解决这 ...

  8. 《分布式系统原理介绍》【PDF】下载

    内容简介 分布式系统理论体系非常庞大,涉及知识面也非常广博,本文精心选择了部分在工程实践中应用广泛.简单有效的分布式理论.算法.协议加以介绍.全文分为两大部分,第一部分介绍了分布式系统的一些基本概念并 ...

  9. js判断文件类型大小并给出提示

    上传文件是工作中常用的功能,不同的场景对不同的文件类型和文件大小都有不同的要求: <form id="uploadForm" method="post" ...

  10. xCode8以及iOS10 的新特性

    其他:ios10中 适配问题(1.系统判断方法失效:2.隐私数据的访问问题:3.UIColor 问题4.真彩色的显示5.ATS问题6.UIStatusBar问题7.UITextField8.UserN ...