超市庫存管理系統

今日內容介紹
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總結
* 把今天的知識點總結一遍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章