超市库存管理系统

2021年6月26日 15点热度 0条评论 来源: xjl不知道起啥名

今日内容介绍

1、Eclipse开发工具

2、超市库存管理系统

###01Eclipse的下载安装


* A: Eclipse的下载安装
l


* a: 下载


* http://www.eclipse.org


* b: 安装


* 只需要解压后就能使用


* c: 卸载


* 只需要将文件夹删除就可以了


* d: 注意 


* 开发软件的安装目录中,尽量不要出现空格与中文


* B: Eclipse的特点


* a: 免费


* b: 纯Java语言编写


* c: 免安装


* d: 扩展性强




###02Eclipse的工作空间和新建工程


* A: Eclipse的工作空间和新建工程


* a: 工作空间


*  其实就是我们写的源代码所在的目录



* b: 创建工程(项目)


* 右键/Package Explore 空白区/new /Java Project/输入项目名称如day08/



* c: 创建包(后面讲包的概念)


* 打开上面建立的day08项目/右键/new/package/在弹出的对话框的name中输入报名如"com.itheima.tests"/finish


* d: 创建类


* 创建一个java类:右击包名/new/class/在对话框的name中输入类名/finish


* B: 编译与执行


* a: 编译


* 自动编译,当java代码保存的时候,自动 编译class文件


* b: 运行


* 方式1:点击菜单工具栏中的 绿色带有三角形的 run按钮 运行


* 方式2:点击菜单栏中Run, 点击Run 运行  快捷键是 ctrl+F11


* 方式3:选中要运行的java文件,或者在编写代码的空白区域,右键选择 Run As --> 运行java程序




###03Eclipse的HelloWorld编写


* A:HelloWorld编写


* a: 编写过程(参照上个知识点)


* 建立day08项目


* 建立包结构(包的概念还没有学到,不建立包的话,使用默认包结构default)


* 创建HelloWorld类(自动生成main方法)


* b: 案例代码


public class HelloWorld {


public static void main(String[] args) {


System.out.println("Hello World");


}


}





###04Eclipse的字体设置


* A: Eclipse的字体设置


* a: 修改编译环境和运行环境


* 编译环境:Window -- Preferences – Java - Compiler


* 运行环境:Window -- Preferences – Java - Installed JREs





* b: 显示行号与隐藏行号


* 显示:在代码区域的左边空白区域,右键 -- Show Line Numbers


* 隐藏:将上面的操作再做一遍





* c: 更改字体大小与颜色


* Java代码区域的字体大小和颜色:


* window -- Preferences -- General -- Appearance -- Colors And Fonts --Java修改 -- Java Edit Text Font--edit进行修改


* 控制台


* window -- Preferences -- General -- Appearance -- Colors And Fonts -- Debug -- Console font


* 其他文件


* window -- Preferences -- General -- Appearance -- Colors And Fonts -- Basic -- Text Font


###05Eclipse的窗口设置


* A: 窗口设置


* a: 显示的窗口乱了,还原默认显示模式


* Window – Perspective -- Reset Prespective


* b: 显示控制台


* Window--Show View—Console





###06Eclipse的去掉多余的注释


* A: Eclipse的去掉多余的注释


* a:如何去掉默认注释


* Window -- Preferences -- Java -- Code Style -- Code Templates -- Comments – Methods,点击Edit ,将注释部分删除 (不建议删除)


* Window -- Preferences -- Java -- Code Style -- Code Templates -- Code -- Method body,点击Edit ,将注释部分删除


* b: 切换工作空间


* File – Switch Workspace – 指定工作空间 – ok




###07Eclipse的快捷键


* A: Eclipse的快捷键


* a: 内容辅助键  Alt+/


* 自动补齐main方法  main 然后 Alt+/

n
* 自动补齐输出语句  syso 然后 Alt+/


* b: 格式化代码


* Ctrl+Shift+f


* 代码区域右键 -- Source – Format


* c: 自动导包


* Ctrl+Shift+o


* 如果当前类在多个包中都存在,这时候,使用Ctrl+shift+o,进行选择一个包导入即可。


* d: 注释


* 单行注释


u
* 加注释: 先选中需要注释的内容,然后 Ctrl+/


u
* 取消注释:先选中需要取消注释的内容, 然后 Ctrl+/


n
* 多行注释


u
* 加注释: 先选中需要注释的内容,然后 Ctrl+Shift+/


u
* 取消注释:先选中需要取消注释的内容, 然后 Ctrl+Shift+\


* e: 补充


* 代码上下移动


* 选中代码alt+上/下箭头


* 查看源码


* 选中类名(F3或者Ctrl+鼠标点击)


* 查找具体的类 


* ctrl + shift + t,输入要查找的类的名称-->确定


* 查找具体类的具体方法 


* ctrl + o


* 给建议 


* ctrl+1,根据右边生成左边的数据类型,生成方法


* 删除代码 


* ctrl + d


* 抽取方法


* alt + shift + m 


* 改名


* alt + shift + r(类名,方法名,变量名)




###08Eclipse的断点调试


* A:断点调试(又称为Debug调试)的作用


* 调试程序


* 查看程序执行流程


* B:如何查看程序执行流程



* 什么是断点:


* 就是一个标记,从哪里开始。





* 如何设置断点:


* 你想看哪里的程序,你就在那个有效程序的左边双击即可。





* 在哪里设置断点:


* 哪里不会点哪里。


* 目前:我们就在每个方法的第一条有效语句上都加。





* 如何运行设置断点后的程序:


* 右键 -- Debug as -- Java Application





* 看哪些地方:


* Debug:断点测试的地方


* 在这个地方,记住F6,或者点击也可以。一次看一行的执行过程。


* Variables:查看程序的变量变化


* ForDemo:被查看的源文件


* Console:控制台





* 如何去断点:


* a:再次双击即可


* b:找到Debug视图,Variables界面,找到Breakpoints,并点击,然后看到所有的断点,最后点击那个双叉

###09Eclipse的工程删除和导入


* A:删除项目


* 选中项目 – 右键 – 删除


* 从项目区域中删除


* 从硬盘上删除


* B:导入项目


* 在项目区域右键找到import


* 找到General,展开,并找到


* Existing Projects into Workspace


* 点击next,然后选择你要导入的项目


* 注意:这里选择的是项目名称




###10超市管理系统功能介绍



* A:超市管理系统功能介绍


* a: 显示主菜单





============欢迎光临ItCast超市============


1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出


请您输入要操作的功能序号





* b: 货物清单





输入1:货物清单


================商品库存清单================


商品编号         商品名称                商品单价


9527   
少林寺酥饼核桃       
   12.7


9008   
尚康杂粮牡丹饼       
   5.6


9879   
新疆原产哈密瓜             599.6





* c: 添加新货物





输入2:添加新货物






请输入新商品的编号:9523


请输入新商品的名字:斯柯达苹果醋


请输入新商品的单价:19.9


商品添加成功





* d: 删除货物





输入3:删除货物





选择的是删除功能


请输入商品的编号:9523


货物信息删除完毕





* e: 修改货物





输入4:修改货物





选择的是修改功能


请输入您要修改的商品的编号:9527


输入新的商品编号:100


输入新的商品名字:味道好凤梨干


输入新的商品价格:6.5


商品修改成功


* f: 输入5:退出系统

###11超市管理系统案例分析


* A: 超市管理系统案例分析


* 完成超市商品初始化。创建商品,将商品添加到集合


l
* 显示来到超市能做的操作,也就是显示主菜单


l
* 根据接收到的功能选项,执行对应的功能


l
* 库存货物查询


l
* 添加新货物



l
* 删除货物


l
* 修改货物


l
* 退出系统,结束main方法的运行


l
* 循环,回到 2.显示主菜单




###12自定义商品类


* A: 自定义商品类


* a: 目的


* 每种库存商品都拥有多项商品信息,为了方便管理每种商品的信息,我们对商品信息进行封装,编写FruitItem.java文件


* b:案例代码


public class FruitItem {


int  ID;
//商品编号


String  name;
//商品名称


double  price;
//商品单价


double  number;
//商品数量


double  money;
//商品金额


}


* 补充


* 上述代码中,对商品信息(编号、名称、单价、数量、金额)进行了封装。这样做的好处在于以后只要找到这个商品,就能够知道该商品的每项信息了。

###13初始化商品属性


* A: 初始化商品属性


* a: 案例代码


import java.util.ArrayList;


import java.util.Scanner;


/*


*   超市管理系统主


*   实现:


*     1. 商品数据的初始化


*     2. 用户的菜单选择


*     3. 根据选择执行不同的功能


*       3.1 Read    查看商品


*       3.2 Create  添加商品


*       3.3 Delete  删除商品


*       3.4 Update  修改商品


*       


*       


*   所有功能 ,必须定义方法实现


*   主方法main  调用作用


*/


public class Shopp {


public static void main(String[] args) {


//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型


ArrayList<FruitItem> array = new ArrayList<FruitItem>();


//调用商品初始化方法,传递集合


init(array);





}


}



/*


* 定义方法,实现商品数据的初始化


* 先将一部分数据,存储集合中


* 返回值: 无


* 参数 : 集合


* 方法名: init


*/


public static void init(ArrayList<FruitItem> array){


//创建出多个FruitItem类型,并且属性赋值


FruitItem f1 = new FruitItem();


f1.ID = 9527;


f1.name = "少林寺酥饼核桃";


f1.price = 12.7;





FruitItem f2 = new FruitItem();


f2.ID = 9008;


f2.name = "尚康杂粮牡丹饼";


f2.price = 5.6;





FruitItem f3 = new FruitItem();


f3.ID = 9879;


f3.name = "新疆原产哈密瓜";


f3.price = 599.6;





//创建的3个FruitItem类型变量,存储到集合中


array.add(f1);


array.add(f2);


array.add(f3);


}





}

###14主菜单功能


* A: 主菜单功能


* a: 案例代码





import java.util.ArrayList;


import java.util.Scanner;


/*


*   超市管理系统主


*   实现:


*     1. 商品数据的初始化


*     2. 用户的菜单选择


*     3. 根据选择执行不同的功能


*       3.1 Read    查看商品


*       3.2 Create  添加商品


*       3.3 Delete  删除商品


*       3.4 Update  修改商品


*       


*       


*   所有功能 ,必须定义方法实现


*   主方法main  调用作用


*/


public class Shopp {


public static void main(String[] args) {


//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型


ArrayList<FruitItem> array = new ArrayList<FruitItem>();


//调用商品初始化方法,传递集合


init(array);


while(true){


//调用菜单方法


mainMenu();



}


}



/*


* 定义方法,实现主菜单


* 提示用户哪些选择 让选择序号


* 返回值: 无


* 参数: 无


*/


public static void mainMenu(){


System.out.println();


System.out.println("============欢迎光临ItCast超市============");


System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");


System.out.println("请您输入要操作的功能序号");


}





/*


* 定义方法,实现商品数据的初始化


* 先将一部分数据,存储集合中


* 返回值: 无


* 参数 : 集合


* 方法名: init


*/


public static void init(ArrayList<FruitItem> array){


//创建出多个FruitItem类型,并且属性赋值


FruitItem f1 = new FruitItem();


f1.ID = 9527;


f1.name = "少林寺酥饼核桃";


f1.price = 12.7;





FruitItem f2 = new FruitItem();


f2.ID = 9008;


f2.name = "尚康杂粮牡丹饼";


f2.price = 5.6;





FruitItem f3 = new FruitItem();


f3.ID = 9879;


f3.name = "新疆原产哈密瓜";


f3.price = 599.6;





//创建的3个FruitItem类型变量,存储到集合中


array.add(f1);


array.add(f2);


array.add(f3);


}





}





###15用户选择功能


* A: 用户选择功能


* a: 案例代码


import java.util.ArrayList;


import java.util.Scanner;


/*


*   超市管理系统主


*   实现:


*     1. 商品数据的初始化


*     2. 用户的菜单选择


*     3. 根据选择执行不同的功能


*       3.1 Read    查看商品


*       3.2 Create  添加商品


*       3.3 Delete  删除商品


*       3.4 Update  修改商品


*       


*       


*   所有功能 ,必须定义方法实现


*   主方法main  调用作用


*/


public class Shopp {


public static void main(String[] args) {


//创建ArrayList集合,存储商品类型,存储数据类型FruitItem类型


ArrayList<FruitItem> array = new ArrayList<FruitItem>();


//调用商品初始化方法,传递集合


init(array);


while(true){


//调用菜单方法


mainMenu();


//调用用户选择序号方法


int choose = chooseFunction();


switch (choose) {


case 1:


//调用1: 货物 清单


showFruitList(array);


break;





case 2:


//2: 添加货物


addFruit(array);


break;





case 3:


//3: 删除货物


deleteFruit(array);


break;





case 4:


//4: 修改货物


updateFruit(array);


break;





case 5:


return ;


default:


System.out.println("输入的序号没有");


break;


}


}


}



/*


*  定义方法,实现接受用户的键盘输入


*  返回编号


*/


public static int chooseFunction(){


Scanner sc = new Scanner(System.in);


return sc.nextInt();


}





/*


* 定义方法,实现主菜单


* 提示用户哪些选择 让选择序号


* 返回值: 无


* 参数: 无


*/


public static void mainMenu(){


System.out.println();


System.out.println("============欢迎光临ItCast超市============");


System.out.println("1: 货物 清单   2: 添加货物   3: 删除货物   4: 修改货物  5: 退出");


System.out.println("请您输入要操作的功能序号");


}





/*


* 定义方法,实现商品数据的初始化


* 先将一部分数据,存储集合中


* 返回值: 无


* 参数 : 集合


* 方法名: init


*/


public static void init(ArrayList<FruitItem> array){


//创建出多个FruitItem类型,并且属性赋值


FruitItem f1 = new FruitItem();


f1.ID = 9527;


f1.name = "少林寺酥饼核桃";


f1.price = 12.7;





FruitItem f2 = new FruitItem();


f2.ID = 9008;


f2.name = "尚康杂粮牡丹饼";


f2.price = 5.6;





FruitItem f3 = new FruitItem();


f3.ID = 9879;


f3.name = "新疆原产哈密瓜";


f3.price = 599.6;





//创建的3个FruitItem类型变量,存储到集合中


array.add(f1);


array.add(f2);


array.add(f3);


}





}

###16商品的清单功能


* A: 商品的清单功能


* a: 案例代码(显示商品清单的showFruitList(ArrayList<FruitItem>)方法的代码如下)


/*


*  定义方法,实现显示货物清单功能


*  返回值: 无


*  参数: 集合


*  遍历集合,获取集合中的每个FruitItem变量,变量,调用属性


*/


public static void showFruitList(ArrayList<FruitItem> array){


System.out.println();


System.out.println("================商品库存清单================");


System.out.println("商品编号         商品名称                商品单价");


//遍历集合


for(int i = 0 ; i < array.size(); i++){


//集合get方法,获取出每个FruitItem变量,可以使用FruitItem接受get结果


FruitItem item = array.get(i);


//变量item调用类中属性


System.out.println(item.ID+"   "+item.name+"        "+item.price);


}


}

###17商品的添加功能


* A: 商品的添加功能


* a: 案例代码(商品添加功能的addFruit(ArrayList<FruitItem>)方法的代码如下)


/*


* 定义方法,实现商品的添加功能


* 返回值:无


* 参数: 集合


* 提示用户选择的是添加商品的功能





* 提示用户输入的是什么





* 创建FruitItem变量,变量调用的属性


* 将输入的每个商品属性进行赋值


*/


public static void addFruit(ArrayList<FruitItem> array){


System.out.println("选择的是添加商品功能");


//创建Scanner变量


Scanner sc = new Scanner(System.in);


System.out.print("请输入新商品的编号:");


//输入商品的编号


int ID = sc.nextInt();


//输入商品的名字


System.out.print("请输入新商品的名字:");


String name = sc.next();


//输入商品的单价


System.out.print("请输入新商品的单价:");


double price = sc.nextDouble();


//创建FruitItem变量


FruitItem item = new FruitItem();


//item.属性赋值


item.ID = ID;


item.name = name;


item.price = price;


array.add(item);


System.out.println("商品添加成功");


}

###18商品的删除功能


* A: 商品的删除功能(删除商品deleteFruit(ArrayList<FruitItem>)方法的代码如下)


* a: 案例代码


/*


*  定义方法,实现商品的删除功能


*  返回值: 无


*  参数: 集合


*  


*  删除依靠的是商品的编号


*  提示用户选择的是删除功能


*  键盘输入商品的编号


*  遍历集合,获取集合中的每个FruitItem变量


*  变量调用属性 ID, 和用户的输入的编号,对比,相同就删除


*/


public static void deleteFruit(ArrayList<FruitItem> array){


System.out.println("选择的是删除功能");


System.out.print("请输入商品的编号:");


Scanner sc = new Scanner(System.in);





int ID = sc.nextInt();


//遍历集合


for(int i = 0 ; i < array.size(); i++){


//获取到每个FruitItem变量


FruitItem item = array.get(i);


//变量,调用属性ID,和用户输入的编号比较


if( item.ID == ID){


//移除集合中的元素


//集合的方法remove实现


array.remove(i);


System.out.println("删除成功");


return;


}


}


System.out.println("你输入的编号不存在");


}

###19商品的修改功能


* A: 商品的修改功能


* a: 案例代码(修改商品updateFruit(ArrayList<FruitItem>)方法的代码如下)


/*


*  定义方法,实现商品的修改功能


*  返回值: 无


*  参数: 集合


*  


*  提示用户选择的是修改功能


*  提示用户输入需要修改的商品编号


*  遍历集合,获取每个FruitItem变量


*  变量调用ID属性,属性和用户输入的编号比较


*  如果相同:


*    修改调FruitItem中的属性值


*    键盘输入


*/


public static void updateFruit(ArrayList<FruitItem> array){


System.out.println("选择的是修改功能");


System.out.print("请输入您要修改的商品的编号:");





Scanner sc = new Scanner(System.in);


int ID = sc.nextInt();


//遍历集合,获取每个FruitItem变量


for(int i = 0 ; i < array.size(); i++){


FruitItem item = array.get(i);


//获取FruitItem的属性ID,和用户输入的ID比较


if(item.ID == ID){


System.out.print("输入新的商品编号:");


item.ID = sc.nextInt();





System.out.print("输入新的商品名字:");


item.name = sc.next();





System.out.print("输入新的商品价格:");


item.price = sc.nextDouble();


System.out.println("商品修改成功");


return ;


}


}


System.out.println("输入的编号不存在");


}

###20总结

* 把今天的知识点总结一遍。

    原文作者:xjl不知道起啥名
    原文地址: https://blog.csdn.net/qq_36078003/article/details/78420100
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。