Java基礎(chǔ)鞏固小項目點菜系統(tǒng)的實現(xiàn)
項目簡紹
點菜小系統(tǒng),可以實現(xiàn)點菜,查看已經(jīng)點的菜,買單查看總金額
所需技術(shù)
面向?qū)ο?,集?ArrayList)
因為項目真的很小,所需要技術(shù)很有限,真的比較簡單
思路講解
- 創(chuàng)建菜品類、屬性
- 創(chuàng)建菜品列表并進行初始化
- 主菜單循環(huán)
- 對選項補充,創(chuàng)建所需方法
- 完善代碼并測試
- 優(yōu)化代碼
完整代碼演示
import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class DishApp { static List<Dish> dishList = new ArrayList<>(); static List<Dish> hadorder = new ArrayList<Dish>(); //創(chuàng)建所有菜集合和已經(jīng)點的菜集合 //這里注意集合要為全局變量,靜態(tài)的 public static void main(String[] args) { initDisk(); Scanner scanner = new Scanner(System.in); while (true) { showMenu(); int num = scanner.nextInt(); switch (num) { case 1: while (true) { order(); int id = scanner.nextInt(); if (id == 0) { break; } Dish dish = dishList.get(id - 1); System.out.println("點了" + dish.name); hadorder.add(dish); } case 2: showHadOrder(); break; case 3: buy(); break; default: break; } } } //初始化菜表 public static void initDisk() {//菜品可根據(jù)需要寫,我這里就簡寫一下哈?? Dish dish1 = new Dish(1, "米", 1); Dish dish2 = new Dish(2, "面", 1); Dish dish3 = new Dish(3, "粉", 1); dishList.add(dish1); dishList.add(dish2); dishList.add(dish3); } //主菜單 public static void showMenu() { System.out.println("-----主菜單-----"); System.out.println("-----1.菜單-----"); System.out.println("-----2.已點菜---"); System.out.println("-----3.買單-----"); } //列出菜表 public static void showDisk() { System.out.println("-------菜單---------"); for (Dish dish : dishList) { System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price); } } //點菜 public static void order() { System.out.println("-----請點菜-0推出-----"); showDisk(); Scanner scanner = new Scanner(System.in); } //查看已經(jīng)點的菜 public static void showHadOrder() { System.out.println("------已點菜-------"); for (Dish dish : hadorder) { System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price); } } //買單 public static void buy() { int sum = 0; for (Dish dish : hadorder) { sum += dish.price; } System.out.println("共消費" + sum); } } //菜品類 class Dish { int id; String name; double price; //構(gòu)造器對屬性賦值 public Dish(int id, String name, double price) { this.id = id; this.name = name; this.price = price; } }
優(yōu)化
使用加強for循環(huán),簡潔代碼
此外在初始化菜表時可以使用匿名對象
dishList.add(new Disk());
這個小項目還要很多很多地方可以優(yōu)化和升級的,有興趣的小伙伴可以試試
結(jié)語
這是我寫的第一個小小項目,所用的技術(shù)實在有限,適合學(xué)完Java集合的用來練練手,鞏固一下
到此這篇關(guān)于Java基礎(chǔ)鞏固小項目點菜系統(tǒng)的實現(xiàn)的文章就介紹到這了,更多相關(guān)Java 點菜系統(tǒng)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring Cloud Feign的文件上傳實現(xiàn)的示例代碼
這篇文章主要介紹了Spring Cloud Feign的文件上傳實現(xiàn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03一文帶你學(xué)會Java網(wǎng)絡(luò)編程
網(wǎng)絡(luò)編程是指編寫運行在多個設(shè)備(計算機)的程序,這些設(shè)備都通過網(wǎng)絡(luò)連接起來。這篇文章將帶大家深入了解一下Java的網(wǎng)絡(luò)編程,需要的可以了解一下2022-08-08Spring boot + thymeleaf 后端直接給onclick函數(shù)賦值的實現(xiàn)代碼
這篇文章主要介紹了Spring boot + thymeleaf 后端直接給onclick函數(shù)賦值的實現(xiàn)代碼,需要的朋友可以參考下2017-06-06