> 文档中心 > 【Java点菜系统】小小项目

【Java点菜系统】小小项目

Java点菜系统

  • 项目简绍🎈🎈
  • 所需技术🐱‍🚀🐱‍🚀
  • 思路讲解🐱‍🏍🐱‍🏍
  • 完整代码演示🐱‍👓🐱‍👓
  • 优化🐱‍🐉🐱‍🐉
  • 结语

项目简绍🎈🎈

点菜小系统,可以实现点菜,查看已经点的菜,买单查看总金额

所需技术🐱‍🚀🐱‍🚀

面向对象,集合(ArrayList)
因为项目真的很小,所需要技术很有限,真的比较简单

思路讲解🐱‍🏍🐱‍🏍

  1. 创建菜品类、属性
  2. 创建菜品列表并进行初始化
  3. 主菜单循环
  4. 对选项补充,创建所需方法
  5. 完善代码并测试
  6. 优化代码

完整代码演示🐱‍👓🐱‍👓

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>();//创建所有菜集合和已经点的菜集合//这里注意集合要为全局变量,静态的    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() {//菜品可根据需要写,我这里就简写一下哈🤣 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);    }//查看已经点的菜    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;//构造器对属性赋值    public Dish(int id, String name, double price) { this.id = id; this.name = name; this.price = price;    }}

优化🐱‍🐉🐱‍🐉

使用加强for循环,简洁代码
此外在初始化菜表时可以使用匿名对象

dishList.add(new Disk());

这个小项目还要很多很多地方可以优化和升级的,有兴趣的小伙伴可以试试

结语

这是我写的第一个小小项目,所用的技术实在有限,适合学完Java集合的用来练练手,巩固一下
如有错误,请在评论区指正,谢谢🤞