Java基础小项目(纯java基础练手小项目,可以自己试一试)

一:实现效果

1.主界面

2.菜单

3.点菜

4.查看已下单的菜品

5.删除已下单的菜品

6.买单

二:实现

封装菜品类(id,name,price)

public 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;
    }

}

实现功能类

import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Scanner;

public class DishApp {

    static ArrayList<Dish> dishList = new ArrayList<>();
    static ArrayList<Dish> PersonList = new ArrayList<>();

    public static void main(String[] args) {
        //调用方法初始化菜品
        InitDish();
        //创建扫描器与控制台交互
        Scanner scanner = new Scanner(System.in);
        while (true) {
            //展示主菜单
            ShowMenu();
            System.out.println("请输入:");
            int inputNum = scanner.nextInt();
            //判断用户输入的编号
            switch (inputNum) {
                case 1:
                    while (true){
                        //展示主菜单
                        ShowDishMenu();
                        System.out.println("请输入菜品对应的编号:");
                        int DishId = scanner.nextInt();
                        //如果输入的是0就返回上一级
                        if (DishId == 0){
                            break;
                        }
                        Dish dish = dishList.get(DishId - 1);
                        System.out.println("您已成功下单了:"+dish.name+"\t"+"单价为:"+dish.price);
                        PersonList.add(dish);
                    }
                    break;
                case 2:
                    //查看已选菜品
                        ShowPersonMenu();
                    System.out.println("请输入您的操作编号:");
                    int i = scanner.nextInt();
                    if (i == 0){
                        break;
                    }else if (i == 1){
                        while (true){
                            System.out.println("请输入您想删除的菜品编号:");
                            int deleteId = scanner.nextInt();
                            for (Dish dish : PersonList){
                                if (dish.id != deleteId){
                                    System.out.println("对不起!您还没有下单该菜品,请输入已点菜品的编号进行删除!");
                                    break;
                                }else {
                                    PersonList.remove(deleteId-1);
                                    System.out.println("您已成功删除菜品");
                                    break;
                                }
                            }
                            break;
                        }
                    }else {
                        System.out.println("请按提示输入正确的操作数:");
                        scanner.nextInt();
                    }
                    break;
                case 3:
                    //买单
                    Pay();
                    scanner.nextDouble();
                    System.out.println("欢迎下次光临!");
                    return;
            }
        }



    }



    /**
     * 展示菜单
     */
    public static void ShowDishMenu(){
        System.out.println("-----选择对应的编号就是选择您想吃的菜-----");
        for (Dish dish : dishList) {
            System.out.println("\t"+dish.id + "\t" + dish.name + "\t" + dish.price);
        }
        System.out.println("-----------按0可以返回上一级-----------");
    }


    /**
     * 查看已经下单的菜品
     */
    public static void ShowPersonMenu(){
        System.out.println("-----------以下是您下单的菜品-------------");
        if (PersonList.isEmpty()){
            System.out.println("您还未下单任何菜品,请先去下单");
        }
        for (Dish dish : PersonList) {
            System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price);
        }
        System.out.println("-----如果您想删除已下单菜品请按1,返回请按0------");
    }


    /**
     * 买单
     */
    public static void Pay(){
        System.out.println("----以下是您所选菜品的总价单,请付款!------");
        Double total = 0.0;
        for (Dish dish : PersonList) {
            System.out.println(dish.id + "\t" + dish.name + "\t" + dish.price);
            total += dish.price;
        }
        System.out.println("-----请您付款!请您付款!请您付款!------");
        System.out.println("---------------总价为:"+new DecimalFormat("0.00").format(total)+"----------");
        System.out.println("您好,您一共需要支付:"+new DecimalFormat("0.00").format(total));

    }


    /**
     * 展示主菜单
     */
    public static void ShowMenu(){
        System.out.println("-------------欢迎光临土菜馆------------");
        System.out.println("*               1.  主菜单            ");
        System.out.println("*               2.  已点菜单           ");
        System.out.println("*               3.  买单              ");
        System.out.println("--------------按0返回主菜单------------");
    }

    /**
     * 初始化菜品
     */
    public static void InitDish(){
        Dish dish1 = new Dish(1, "鱼香肉丝", 29.9);
        dishList.add(dish1);
        Dish dish2 = new Dish(2, "生炒鸡", 32.9);
        dishList.add(dish2);
        Dish dish3 = new Dish(3, "糖醋排骨", 25.9);
        dishList.add(dish3);
        Dish dish4 = new Dish(4, "红烧肉", 50.9);
        dishList.add(dish4);
        Dish dish5 = new Dish(5, "酸辣土豆丝", 15.9);
        dishList.add(dish5);
        Dish dish6 = new Dish(6, "肉末茄子", 20.9);
        dishList.add(dish6);
        Dish dish7 = new Dish(7, "红烧鱼", 55.9);
        dishList.add(dish7);
        Dish dish8 = new Dish(8, "红烧猪蹄", 65.9);
        dishList.add(dish8);
        Dish dish9 = new Dish(9, "烤鱼", 85.9);
        dishList.add(dish9);
    }
}

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值