blog-1

BLOG1

以下是一份java题目集一二三的阶段性总结,时隔许久,我只能凭借题目顺序慢慢回忆。

出于对菜单计价程序的尊敬,也出于他的难度,我将前三次题目集中的菜单计价程序总结在最后。

首先是第一次题目集,也是题目最多但也是最简单的一次题目集,它的难度逐步上升。

7-1 身体质量指数(BMI)测算

这个算是比较简单的开始,唯一要注意的是数据类型应定义成double

7-2 长度质量计量单位换算

这个与前一题类似,不多赘述

7-3 奇数求和

该题要注意的是数组的使用,尤其是定义十个整数时,正确定义方式是int a[]={0,0,0,0,0,0,0,0,0,0};

7-4 房产税费计算2022

该题也是简单的数学运算

7-5 游戏角色选择

该题是在java中第一次使用选择,可以用switch语句,不过我用的是if语句进行选择

7-6 学号识别

该题第一次在java中使length函数,通过字符长度判断输入学号是否合法

7-8 巴比伦法求平方根近似值

该题也为根据题意进行数学运算

7-9 二进制数值提取

该题乍看让人云里雾里,细看题目便可做出,注意题目要求

输入格式:

一个由01构成的序列,以-1为结束符,非01字符视为正常输入,但忽略不计,未包含结束符的序列视为非法输入。例如:abc00aj014421-1

输出格式:

将输入的序列去掉非01字符以及结尾符的数据内容,

注:结束符-1之后的0\1字符忽略不计。

7-7 判断三角形类型

该题思路也算比较简单,多个出口稍显麻烦,也是第一次题目集中代码行数最多的,不过还是不敢与后文比较

 

 

接下来就是第二次题目集,回看往昔居然还没拿到及格分

 

菜单计价程序暂且按下不表,由于时间和心态原因虽然过程坎坷,还存在许多问题需要解决,所以我就先写了第三题,结果第三题一直显示非零返回,便去写第四题,结果第四题也一样存在非零返回的问题。

 

 

以下是第四道题

7-4 小明走格子

A点到B点有n个格子,小明现在要从A点到B点,小明吃了些东西,补充了一下体力,他可以一步迈一个格子,也可以一步迈两个格子,也可以一步迈3个格子,也可以一步迈4个格子。请编写程序计算小明从A点到B点一共有多少种走法。

 

结果又是非零返回,于是我去网上搜到以下结果

非零返回是什么?

# 非零返回是指的一些语法,在PTA执行的过程中,抛出了异常,导致没有运行到最后一步return,所以导致非零返回。而这些语法通常在pycharm上是通过的,PYcharm运行不会出任何错误

 

# 例如:li是一个列表

#     for i in li:

#         if i % 2 == 0:

#             list3.append(i)

#

#     for i in range(0,n+1):

#         if i % 2 == 0:

#             list3.append(li[i])

#

# 这句是通过两种方式,一种是利用下标索引,一种是直接的

# pycharm上运行都是对的,但是在PTA的平台上会抛出异常,导致非零返回

# 也许是PTA的语法规范有些地方很严格,或者包容性太差,又或许是PYcharm很智能,或者很不规范

在我的理解来说,就是pta无法正常识别个别语句,将代码简化为最简单的模式便可,但又依旧因为时间紧迫,多次修改后没有得到分数,便投机取巧使用c编程语言进行答题,所幸这次得到了分,虽然也不是满分,但相较于前次提交已经算的上让我欣慰了。

 

再就是最后一份题目集,也就是第三次题目集

7-1 菜单计价程序-3

(这个虽然应该放在后文再仔细提,但我发现经过一二次菜单的折磨,我的菜单三根本就是空空如也)

7-2 有重复的数据

这个主要是读入整数和循环的使用

7-3 去掉重复的数

这个与前一题相似

7-4 单词统计与排序

该题主要考察相关函数的使用

7-5 面向对象编程(封装性)

该题开始真正使用面向对象进行编程构造

7-6 GPS测绘中度分秒转换

这道题因为时间原因,我以为我写了,就没再打开pta,结果过了提交截止时间我才发现原来这道题没写完,后续尝试补写,以下是代码。

  import java.util.Scanner;

  public class Main {

      public static void main(String []args){

         Scanner input = new Scanner(System.in);

         int degree = input.nextInt();

         int degree = input.nextInt();

         int minute = input.nextInt();

         double second = input.nextDouble();

         double get;

         get = degree +(minute/60.0) + (second/3600.0);

         System.out.print(degree + "°"+mintue +" ′"+second+" ″"+" = ");

         System.put.printf("%.6f",get);

}

}

7-7 判断两个日期的先后,计算间隔天数、周数

正如该题提示一般,通过查询Java API文档,了解Scanner类中nextLine()等方法、String类中split()等方法、Integer类中parseInt()等方法的用法,了解LocalDate类中of()isAfter()isBefore()until()等方法的使用规则,了解ChronoUnit类中DAYSWEEKSMONTHS等单位的用法。

 

以下就是重头戏

三次菜单计价程序

7-1 菜单计价程序-1

这里是一切痛苦的开始,往后的三四五对我这个废物来说,算得上崩溃,也就一二勉强拿分。()

某饭店提供4种菜,每种菜品的基础价格如下:

西红柿炒蛋 15

清炒土豆丝 12

麻婆豆腐 12

油淋生菜 9

 

设计点菜计价程序,根据输入的订单,计算并输出总价格。

订单由一条或多条点菜记录组成,每条记录一行,最后以"end"结束

每条点菜记录包含:菜名、份额两个信息。

份额可选项包括:123,分别代表小、中、大份)

 

不同份额菜价的计算方法:

小份菜的价格=菜品的基础价格。

中份菜的价格=菜品的基础价格1.5

小份菜的价格=菜品的基础价格2

如果计算出现小数,按四舍五入的规则进行处理。

 

参考以下类的模板进行设计:

菜品类:对应菜谱上一道菜的信息。

Dish {

String name;//菜品名称

int unit_price; //单价

int getPrice(int portion)//计算菜品价格的方法,输入参数是点菜的份额(输入数据只能是1/2/3,代表小//大份)

}

 

菜谱类:对应菜谱,包含饭店提供的所有菜的信息。

Menu {

Dish[] dishs ;//菜品数组,保存所有菜品信息

Dish searthDish(String dishName)//根据菜名在菜谱中查找菜品信息,返回Dish对象。

}

 

点菜记录类:保存订单上的一道菜品记录

Record {

Dish d;//菜品

int portion;//份额(1/2/3代表小//大份)

int getPrice()//计价,计算本条记录的价格

}

 

订单类:保存用户点的所有菜的信息。

Order {

Record[] records//保存订单上每一道的记录

int getTotalPrice()//计算订单的总价

Record addARecord(String dishName,int portion)

//添加一条菜品信息到订单中。

}

 

输入格式:

每条点菜记录的格式:

菜名+空格(英文)+份额

注:份额可输入(1/2/3), 1代表小份,2代表中份,3代表大份。

最后一条记录以“end”结束。

 

输出格式:

订单上所有菜品的总价(整数数值),每份菜

如果订单中包含不能识别的菜名,则在总价之前输出“** does not exist”**是不能识别的菜名

 

输入样例:

在这里给出一组输入。例如:

 

麻婆豆腐 2

西红柿炒蛋 3

end

输出样例:

在这里给出相应的输出。例如:

 

48

输入样例1:

订单中包含不存在的菜品记录。例如:

 

麻婆豆腐 2

炒脆肚 2

西红柿炒蛋 3

end

输出样例1:

在这里给出相应的输出。例如:

 

炒脆肚 does not exist

48

该题在开始动笔的时候也是让我受尽折磨,尤其是第一次利用java中实际学的内容,以前的题目或多或少都有着c的大部分基础,这题算是让我的心态从c转换为java

 

该题包含多个类,菜品dish,菜谱menu,点菜记录record,订单order,其实相较于后文已经简单的多了,当然是时隔许久后的回头看才敢这么说。

以下是仍存在问题的第一次代码

import java.util.Scanner;
class Dish
{
    String name;
    int unit_price; 
    public Dish(String name,int unit_price)
    {
        this.name = name;
        this.unit_price = unit_price;
    }
     public int getPrice(int portion)
    {
        double price=unit_price;
        if(portion==2)price=1.5*price;
        if(portion==3)price=2*price;
        return (int) Math.round(price);
    }
}

class Menu 
{
    Dish[] dishs ;
    Menu(Dish[] dishs) {this.dishs = dishs;}
    public void addDish(Dish dish)
    {
        int c=0;
        if(dishs!=null)c=dishs.length;
        Dish[] temp = new Dish[c+1];
        if(c>0)System.arraycopy(dishs,0,temp,0,c);
        temp[c]=dish;//新增一个菜品
        dishs=temp;
    }
    Dish searchDish(String dishN)
    {
        if(dishs==null)return null;
        for(int i=0;i<dishs.length;i++)
        {
            if(dishs[i].name.equals(dishN))
                return dishs[i];
        }
        System.out.println(dishN+" "+"does not exist");
        return null;
    }
}

class Record 
{
    Dish d;
    int portion;
    public Record(Dish d,int portion)
    {
        this.d = d;
        this.portion = portion;
    }
    int getP()
    {
        return d.getPrice(portion);
    }
}

class Order 
{
    Record[] records;
    Menu menu;
    public Order(Menu menu){this.menu = menu;}
    int getTotalPrice()
    {
        int total=0;
        if(records==null)return 0;
        for(int i=0;i<records.length;i++)
        {
            total+=records[i].getP();
        }
        return total;
    }
    Record addRecord(String dishN,int portion)
    {
        Dish dish=menu.searchDish(dishN);
        if (dish == null) 
        {
            System.out.println(dishN + "does not exist");
            return null;
        }
        Record record=null;
        if(dish!=null)
        {
            record = new Record(dish,portion);
            int count=0;
            if(records!=null)count=records.length;
            Record temp[] = new Record[count+1];
            if(count>0)System.arraycopy(records,0,temp,0,count);
            temp[count]=record;
            records=temp;
        }
        return record;
    }
}
public class Main
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        Dish[] dishs = 
        {
            new Dish("西红柿炒蛋", 15),
            new Dish("清炒土豆丝", 12),
            new Dish("麻婆豆腐", 12),
            new Dish("油淋生菜", 9)
        };
        Menu menu = new Menu(dishs);
        Order order = new Order(menu);
        while (true) 
        {
            String line = in.nextLine();
            if (line.equals("end")) break;
            String[] parts = line.split(" ");
            String dishN= parts[0];
            int portion = Integer.parseInt(parts[1]);
            order.addRecord(dishN,portion);
        }
        System.out.println(order.getTotalPrice());
    }
}

 

 

 

菜单计价程序二是我唯一一个拿满分的菜单程序,相较于第一次,该次在订单上添加了删除记录选项,而且是通过序号将点菜记录删除的,所以只要处理好点菜序号即可。并且菜品价格开始发现差别,出现大中小三份情况,所以可根据题意调整价格。

 

 

且需要注意的是,虽然过程中出现了小数,但题目明确要求按照四舍五入的规则进行处理,输出格式也明确表示最后输出订单上所有菜品的总价是整数数值。

同时需要注意特别强调不考虑其他错误,(包括菜单订单顺序颠倒,不符合格式的输入,序号错误等),只考虑当删除记录的序号不存在时输出 delete error ,订单中如果包括不能识别的菜名,则输出“**  does not exist ”,其中**是不能识别的菜名。

以上整数和小数过程中我忘了转换,导致过错误,也因为未识别错误菜名而导致整个程序没法正常运行,但索性后续都修改过来了。以下是正确的代码。

 

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

class Menu {
    private List<Dish> dishes = new ArrayList<>();
    void addD(Dish dish) {
    }
    Menu() {
    }
    Dish searchDish(String dishN) {
        for (Dish dish : dishes) {
            if (dish.getN().equals(dishN)) {
                return dish;
            }
        }
        return null;
    }

    Dish addD(String dishN, int unit_price) {
        for (Dish dish : dishes) {
            if (dish.getN().equals(dishN)) {
                dish.setUnit_price(unit_price);
                return dish;
            }
        }
        Dish dish = new Dish(dishN, unit_price);
        dishes.add(dish);
        return dish;
    }
}

class Dish {
    String name;
    int unit_price;

    public String getN() {
        return name;
    }

    public void setN(String name) {
        this.name = name;
    }

    public int getUnit_price() {
        return unit_price;
    }

    public void setUnit_price(int unit_price) {
        this.unit_price = unit_price;
    }

    public Dish(String name, int unit_price) {
        this.name = name;
        this.unit_price = unit_price;
    }

    public Dish() {
    }

    int getPrice(int portion) {
        float b[] = {1, 1.5f, 2};
        return Math.round((unit_price * b[portion - 1]));
    }
}

class Record {
    private int orderN;
    private Dish d;
    private int portion;
    private int num;
    private boolean isDelete = false;

    public boolean isNotFound() {
        return notFound;
    }

    public void setNotFound(boolean notFound) {
        this.notFound = notFound;
    }

    private boolean notFound = false;

    public Record(Dish d, int portion) {
        this.d = d;
        this.portion = portion;
    }

    public Record(int orderN, Dish d, int portion, int num) {
        this.orderN = orderN;
        this.d = d;
        this.portion = portion;
        this.num = num;
    }

    int getP() {
        return d.getPrice(portion)*this.num;
    }

    public int getOrderNum() {
        return orderN;
    }

    public void setOrderNum(int orderN) {
        this.orderN = orderN;
    }

    public Dish getD() {
        return d;
    }

    public void setD(Dish d) {
        this.d = d;
    }

    public int getPortion() {
        return portion;
    }

    public void setPortion(int portion) {
        this.portion = portion;
    }

    public boolean isDelete() {
        return isDelete;
    }

    public void setDelete(boolean delete) {
        isDelete = delete;
    }

    public int getNum() {
        return num;
    }

    public void setNum(int num) {
        this.num = num;
    }
}

class Order {
    private Menu menu;
    private static List<Record> records = new ArrayList<>();

    public Order(Menu menu) {
        this.menu = menu;
    }


    int getTotalPrice() {
        int sum = 0;
        for (Record record : records) {
            int price = record.getP();
            if (!record.isDelete()) {
                sum = sum + price;
            }
        }
        return sum;
    }
    Record addRecord(int orderN, String dishN, int portion, int num) {
        Dish dish = menu.searchDish(dishN);
        if (dish == null) {
            System.out.println(dishN + " does not exist");
            return null;
        }
        Record record = new Record(orderN, dish, portion, num);
        records.add(record);
        int price = record.getP();
        System.out.println(record.getOrderNum() + " " + record.getD().getN() + " " + price);
        return record;
    }

    public boolean delARecordByOrderNum(int orderN) {
        for (Record record : records) {
            if (!record.isNotFound() && !record.isDelete() && record.getOrderNum() == orderN) {
                record.setDelete(true);
                return true;
            }
        }
        System.out.println("delete error;");
        return false;
    }
}
public class Main {
    public static void main(String[] args) {
        Menu menu = new Menu();
        Order order = new Order(menu);
        Scanner scanner = new Scanner(System.in);
        String line = scanner.nextLine();
        while (!line.equals("end")) {
            String[] lineArray = line.split(" ");

            if (lineArray.length > 2) {
                int orderN = Integer.parseInt(lineArray[0]);
                String dishN = lineArray[1];
                int portion = Integer.parseInt(lineArray[2]);
                int num = Integer.parseInt(lineArray[3]);
                order.addRecord(orderN, dishN, portion, num);
            } else if ("delete".equals(lineArray[1])) {
                order.delARecordByOrderNum(Integer.parseInt(lineArray[0]));
            } else {
                menu.addD(lineArray[0], Integer.parseInt(lineArray[1]));
            }

            line = scanner.nextLine();
        }

        System.out.println(order.getTotalPrice());
    }
}

 

  

 

 

 

 

 

第三次菜单计价程序已经把我唬住了,所以我第三次菜单是完全空白,但还是根据题意浅做一些分析。

 

设计点菜计价程序,根据输入的信息,计算并输出总价格。

 

输入内容按先后顺序包括两部分:菜单、订单,最后以"end"结束。

 

菜单由一条或多条菜品记录组成,每条记录一行

 

每条菜品记录包含:菜名、基础价格 两个信息。

 

订单分:桌号标识、点菜记录和删除信息、代点菜信息。每一类信息都可包含一条或多条记录,每条记录一行或多行。

 

桌号标识独占一行,包含两个信息:桌号、时间。

 

桌号以下的所有记录都是本桌的记录,直至下一个桌号标识。

 

点菜记录包含:序号、菜名、份额、份数。份额可选项包括:1、2、3,分别代表小、中、大份。

 

不同份额菜价的计算方法:小份菜的价格=菜品的基础价格。中份菜的价格=菜品的基础价格1.5。小份菜的价格=菜品的基础价格2。如果计算出现小数,按四舍五入的规则进行处理。

 

删除记录格式:序号 delete

 

标识删除对应序号的那条点菜记录。

 

如果序号不对,输出"delete error"

 

代点菜信息包含:桌号 序号 菜品名称 份额 分数

 

代点菜是当前桌为另外一桌点菜,信息中的桌号是另一桌的桌号,带点菜的价格计算在当前这一桌。

 

程序最后按输入的先后顺序依次输出每一桌的总价(注意:由于有代点菜的功能,总价不一定等于当前桌上的菜的价格之和)。

 

每桌的总价等于那一桌所有菜的价格之和乘以折扣。如存在小数,按四舍五入规则计算,保留整数。

 

折扣的计算方法(注:以下时间段均按闭区间计算):

 

周一至周五营业时间与折扣:晚上(17:00-20:30)8折,周一至周五中午(10:30--14:30)6折,其余时间不营业。

 

周末全价,营业时间:9:30-21:30

 

如果下单时间不在营业范围内,输出"table " + t.tableNum + " out of opening hours"

 

参考以下类的模板进行设计:菜品类:对应菜谱上一道菜的信息。

 

Dish {

 

String name;//菜品名称

 

int unit_price; //单价

 

int getPrice(int portion)//计算菜品价格的方法,输入参数是点菜的份额(输入数据只能是1/2/3,代表小/中/大份) }

 

菜谱类:对应菜谱,包含饭店提供的所有菜的信息。

 

Menu {

 

Dish\[\] dishs ;//菜品数组,保存所有菜品信息

 

Dish searthDish(String dishName)//根据菜名在菜谱中查找菜品信息,返回Dish对象。

 

Dish addDish(String dishName,int unit_price)//添加一道菜品信息

 

}

 

点菜记录类:保存订单上的一道菜品记录

 

Record {

 

int orderNum;//序号\\

 

Dish d;//菜品\\

 

int portion;//份额(1/2/3代表小/中/大份)\\

 

int getPrice()//计价,计算本条记录的价格\\

 

}

 

订单类:保存用户点的所有菜的信息。

 

Order {

 

Record\[\] records;//保存订单上每一道的记录

 

int getTotalPrice()//计算订单的总价

 

Record addARecord(int orderNum,String dishName,int portion,int num)//添加一条菜品信息到订单中。

 

delARecordByOrderNum(int orderNum)//根据序号删除一条记录

 

findRecordByNum(int orderNum)//根据序号查找一条记录

 

}

 

### 输入格式:

 

桌号标识格式:table + 序号 +英文空格+ 日期(格式:YYYY/MM/DD)+英文空格+ 时间(24小时制格式: HH/MM/SS)

 

菜品记录格式:

 

菜名+英文空格+基础价格

 

如果有多条相同的菜名的记录,菜品的基础价格以最后一条记录为准。

 

点菜记录格式:序号+英文空格+菜名+英文空格+份额+英文空格+份数注:份额可输入(1/2/3), 1代表小份,2代表中份,3代表大份。

 

删除记录格式:序号 +英文空格+delete

 

代点菜信息包含:桌号+英文空格+序号+英文空格+菜品名称+英文空格+份额+英文空格+分数

 

最后一条记录以“end”结束。

 

### 输出格式:

 

按输入顺序输出每一桌的订单记录处理信息,包括:

 

1、桌号,格式:table+英文空格+桌号+”:”

 

2、按顺序输出当前这一桌每条订单记录的处理信息,

 

每条点菜记录输出:序号+英文空格+菜名+英文空格+价格。其中的价格等于对应记录的菜品\*份数,序号是之前输入的订单记录的序号。如果订单中包含不能识别的菜名,则输出“\*\* does not exist”,\*\*是不能识别的菜名

 

如果删除记录的序号不存在,则输出“delete error”

 

最后按输入顺序一次输出每一桌所有菜品的总价(整数数值)格式:table+英文空格+桌号+“:”+英文空格+当前桌的总价

 

本次题目不考虑其他错误情况,如:桌号、菜单订单顺序颠倒、不符合格式的输入、序号重复等,在本系列的后续作业中会做要求。

 

输入格式:

 

桌号标识格式:table + 序号 +英文空格+ 日期(格式:YYYY/MM/DD)+英文空格+ 时间(24小时制格式: HH/MM/SS)

 

菜品记录格式:

 

菜名+英文空格+基础价格

 

如果有多条相同的菜名的记录,菜品的基础价格以最后一条记录为准。

 

点菜记录格式:序号+英文空格+菜名+英文空格+份额+英文空格+份数注:份额可输入(1/2/3), 1代表小份,2代表中份,3代表大份。

 

删除记录格式:序号 +英文空格+delete

 

代点菜信息包含:桌号+英文空格+序号+英文空格+菜品名称+英文空格+份额+英文空格+分数

 

最后一条记录以“end”结束。

 

输出格式:

 

按输入顺序输出每一桌的订单记录处理信息,包括:

 

1、桌号,格式:table+英文空格+桌号+“:”+英文空格

 

2、按顺序输出当前这一桌每条订单记录的处理信息,

 

每条点菜记录输出:序号+英文空格+菜名+英文空格+价格。其中的价格等于对应记录的菜品\*份数,序号是之前输入的订单记录的序号。如果订单中包含不能识别的菜名,则输出“\*\* does not exist”,\*\*是不能识别的菜名

 

如果删除记录的序号不存在,则输出“delete error”

 

最后按输入顺序一次输出每一桌所有菜品的总价(整数数值)格式:table+英文空格+桌号+“:”+英文空格+当前桌的总价

 

本次题目不考虑其他错误情况,如:桌号、菜单订单顺序颠倒、不符合格式的输入、序号重复等,在本系列的后续作业中会做要求。

 

输入样例:

 

在这里给出一组输入。例如:

 

麻婆豆腐 12
油淋生菜 9
table 1 2023/3/22 12/2/3
1 麻婆豆腐 2 2
2 油淋生菜 1 3
end

 

 

 

输出样例:

 

在这里给出相应的输出。例如:

 

table 1: 
1 麻婆豆腐 36
2 油淋生菜 27
table 1: 38

 

 

 

输入样例1:

 

在这里给出一组输入。例如:

 

麻婆豆腐 12
油淋生菜 9
table 1 2023/3/22 17/0/0
1 麻婆豆腐 2 2
2 油淋生菜 1 3
1 delete
end

 

 

 

输出样例1:

 

在这里给出相应的输出。例如:

 

table 1: 
1 麻婆豆腐 36
2 油淋生菜 27
table 1: 22

 

 

 

输入样例2:

 

在这里给出一组输入。例如:

 

麻婆豆腐 12
油淋生菜 9
table 1 2023/3/22 16/59/59
1 麻婆豆腐 2 2
2 油淋生菜 1 3
1 delete
end

 

 

 

输出样例2:

 

在这里给出相应的输出。例如:

 

table 1: 
1 麻婆豆腐 36
2 油淋生菜 27
table 1 out of opening hours

 

 

 

输入样例3:

 

在这里给出一组输入。例如:

 

麻婆豆腐 12
油淋生菜 9
table 1 2022/12/5 15/03/02
1 麻婆豆腐 2 2
2 油淋生菜 1 3
3 麻辣鸡丝 1 2
5 delete
7 delete
table 2 2022/12/3 15/03/02
1 麻婆豆腐 2 2
2 油淋生菜 1 3
3 麻辣鸡丝 1 2
7 delete
end

 

 

 

输出样例3:

 

在这里给出相应的输出。例如:

 

table 1: 
1 麻婆豆腐 36
2 油淋生菜 27
麻辣鸡丝 does not exist
delete error;
delete error;
table 2: 
1 麻婆豆腐 36
2 油淋生菜 27
麻辣鸡丝 does not exist
delete error;
table 1 out of opening hours
table 2: 63

 

 

 

输入样例4:

 

在这里给出一组输入。例如:

 

麻婆豆腐 12
油淋生菜 9
table 1 2022/12/3 19/5/12
1 麻婆豆腐 2 2
2 油淋生菜 1 3
3 麻辣鸡丝 1 2
table 2 2022/12/3 15/03/02
1 麻婆豆腐 2 2
2 油淋生菜 1 3
3 麻辣鸡丝 1 2
1 4 麻婆豆腐 1 1
7 delete
end

 

 

 

输出样例4:

 

在这里给出相应的输出。例如:

 

table 1: 
1 麻婆豆腐 36
2 油淋生菜 27
麻辣鸡丝 does not exist
table 2: 
1 麻婆豆腐 36
2 油淋生菜 27
麻辣鸡丝 does not exist
4 table 2 pay for table 1 12
delete error;
table 1: 63
table 2: 75

 

第三次相较于第二次菜单加入了代点菜信息,且加入桌号识别,这些都还好,关键是出现了根据时间计算折扣和代点菜记录的结合,这太让我头疼了,虽然现在回头看跟菜单四五比较,顶多算是小巫见大巫,但时过境迁的东西怎么说呢,只能说以后更加努力吧。

总结:在以上三次的题目集中,从第一次的温柔一击开始,我便有些懈怠,第二次题目集就出现了菜单计价程序,对于那时候的我出现吃力情况很正常,第三次题目我出现了破罐子破摔的心态,也在这三次题目集中,我都没有从一开始就全力以赴,都是只留了一两天才开始动笔,最后都是被ddl逼的交答案,没办法的焦虑。

希望自己能够接下来的每一次题目集都能有进步,哪怕不要求满分,能拿的分尽力去拿,不能抱着写不来就彻底放弃的心态,直面困难与挑战,希望能在接下来的java学习中收获更多。

posted @ 2023-05-24 22:01  落十真不会编程  阅读(106)  评论(0)    收藏  举报