java小项目——点菜系统


完整工程去这里取

定义一个初始化菜单类

package com.ssc.demo;

public class Dish {
    int id; //菜品序号

    String name; //菜品名字
    double price; //菜品价格

    //提供构造方法,以便new时直接传入值
    public Dish(int id, String name, double price) {
        this.id = id;
        this.name = name;
        this.price = price;
    }
}

定义程序的入口类

package com.ssc.demo;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class DishApp {

    // 提前准备菜品,利用泛型,展示给用户
    // 集合用数组不好变化,用泛型
    static List<Dish> dishList = new ArrayList<>();
    static List<Dish> finishDishList = new ArrayList<>();

    public static void main(String[] args) {
        initDish();
        showChoose();
        //创建扫描器对象,获取键盘输入,阻塞住程序等你的输入
        Scanner s = new Scanner(System.in);
        while (true){

            //也会出现阻塞
            int num = s.nextInt();
            switch (num){
                case 0:
                    showChoose();
                    break;
                case 1:
                    while (true){
                        showDish(dishList);
                        System.out.println("===================输入你想要点的菜品,输入0返回主菜单==============");
                        int num1 = s.nextInt();
                        if(num1==0){
                            showChoose();
                            break;
                        }
                        finishDishList.add(dishList.get(num1-1));
                        System.out.println(dishList.get(num1-1).name + "添加成功");
                    }
                    break;
                case 2:
                    showDish(finishDishList);
                    System.out.println("===================输入0返回主菜单==============");
                    break;
                case 3:
                    buy(finishDishList);
                    return;
            }
        }

    }

    // 初始化菜品
    public static void initDish(){
        dishList.add(new Dish(1,"红烧肉",35.1));
        dishList.add(new Dish(2,"折耳根炒腊肉",26.9));
        dishList.add(new Dish(3,"豆米",15.0));
        dishList.add(new Dish(4,"炸鸡腿",10.5));
        dishList.add(new Dish(5,"紫菜蛋花汤",8.5));
    }

    public static void showChoose(){
        System.out.println("=====主菜单=====");
        System.out.println("1   查看菜单");
        System.out.println("2   已点菜单");
        System.out.println("3   买单");
        System.out.println("=========输入序号选择你要的功能==========");
    }

    public static void buy(List<Dish> a){
        double b=0.0;
        for (int i = 0; i < a.size(); i++) {
            b +=   a.get(i).price;
        }
        System.out.println("您一共消费:"+b);
    }

    public static void showDish(List<Dish> a){
        for (int i = 0; i < a.size(); i++) {
            Dish dish = a.get(i);
            System.out.println(dish.id + "      " + dish.name + "       " + dish.price);
        }
    }
}

总结

  • 这是一个控制台系统,比较简单,做多了慢慢就有感觉了,下一个小项目是随手记系统,也是控制台程序。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值