- 前言
前三次的题目集,大概囊括了最基础的输入输出、类的创建;字符串的各种操作(定位某个特点字符在字符串中的下标、提取某段需要的子字符串、对于某个字符或某个子字符串的格式判断等等)、类的交互、函数的创建与使用以及正则表达式的运用等等。前两次的作业总体来说难度不大,对类的使用有一定基础都能写出来,第三次作业难度上升,对类中调用类的技术有了更高的要求。
- 设计与分析
- 菜单计价系统1:
思路:创建一个类,在main函数中新建一个类的数组变量,每次输入对其遍历
实现:
一些核心代码:
心得体会:
本次作业中我第一次体会到面向对象编程和面向过程编程的区别,并能比较熟练的在Java语言中编写方法,熟悉了Java的基本语法。
- 菜单计价系统2
思路:
用while对输入进行判断,直到输入“1”,跳出循环完成对菜单的初始化;用一个整数型数组完成对delete的操作。
实现:
心得体会:
在没有学集合的情况下,完成了对未知个数数组的创建(在后续学习中,应用集合会使创建菜单的操作更简单)。
- 菜单计价系统3
思路:
用String的matches函数对点菜和带点菜进行区别,进入不同的操作;使用Date,Calender对输入的日期进行判断。
实现:
心得体会:
本来想用String的截取对table信息中的日期进行相应的操作,后来发现使用Date和Calender可以使代码更有逻辑性和更加简洁,对日期类的字符串有关问题有了新的解决方法。
三.踩坑心得
在估算的时候,我采取的方案是对小数点的大小进行判断,然后得到结果,在之后的学习中才知道原来可以用Math.round().......;
只创建了一个类,按理说有多少个对象就一个创建多少个类,当时写代码时没有暂时还没有这个能力,写出来的代码非常乱,就我自己看都费劲,并且没有方法类,直接将方法写在了Dish中,阅读观感非常差;
在没有学习到时间类的时候,table信息中的时间非常难处理,直到我了解到这个知识点,只能说Java它真的,我哭死;
因为之前没有学习到集合内容,所以只能先创建大一点的数组,然而这解决方法是有缺陷的,没有负值的地址会报错,所以在遍历时需要对空的地址单独操作。
- 主要困难以及改进建议
在第三次作业中,对代点菜的处理,既要将其记录,还不能进入订单中;
同样在第三次作业中对时间的处理也是一大难点。
不知道提什么改进建议,索性就不提了。
五.总结
面向对象其实就是现实世界原则的抽象。现实世界是对象和对象之间相互作用共同组成的,先有对象后有类,而在软件世界中先有类再有对象。每个对象都有自己特有的属性,例如人具有身高、体重、性别、年龄等属性,这与现实世界是相同的,且每个对象都有自己专有的方法。外部对象如果想要调用这些方法,可以向它请求并传入参数,等方法执行结束后返回结果,这就相当于现实世界,如果你想了解他人的信息,你必须想他人询问并请求。对象就是一个变量,一个具体的东西,类就是类型,从万千对象中抽取共性,对象是类的具体实现。对象不仅包括成员变量,还要成员方法,并且对象的内容也等同于现实世界自然规则是可以继承的,子类继承父类,父类继承曾父类,对象的内容也可以继承。
对课程的建议:
可以多展开一些项目的编写实验,过程中不仅有趣,还能让我们学习到新知识。
标签:菜单,对象,创建,作业,Blog,字符串,方法 From: https://www.cnblogs.com/catfishhome/p/17429280.html