00:00
那同学们也看到我们目前这段程序呢,有一个问题就是没有考虑小数对不对,没有小数,没有小数点,那这一页呢,我给大家给给大家这个有一个版本叫逆波兰计算器的完整版,这里面呢,它支持加减乘除小括号,多位数,这是小数,而且呢可以做兼容性的处理,比如说你在这个格式里面有空白的字符,空格制表符我都可以用。那这个逆波兰表达式呢,我就不去讲了,因为整个这个逆波兰表达式支持小数点这个功能其实并不难。你只要把小数点考进考虑进去就可以可以,那么这里面的核心知识点呢,仍然用的是后缀表达式转。呃,中缀表达式转后缀表示我把代码给他分享一下就可以了,来,我把代码呢,从这里拿过来给同学们运行一下就可以了啊。由于时间的关系,我这个就不讲它了。而且本身也不难,因为它的核心知识点我已经跟他讲过了。
01:02
来,我们把这个包换一下就可以。啊,换一下就可以了。好,换一下就可以了,里面这个中文这个这个注释呢,是什么原因导致的呢?好,我看一下。我们把这个打开。把这个打开,因为这里面没有乱码,应该是文件,呃,这个跟我这边格式不匹配,因为我目前大家看到我这个项目呢,它的编码应该是GBK编码,看到没有,所以说你打过来就错了,那我怎么办呢?好办。我可以这样子,我把这个呢另存为。好吧,我把另存为也按这个JBK编码来存一下。存好了是吧,存好了过后我再把这个代码复制过来就可以了。啊,把这个代码复制过来就可以了,OK,运行一下。好,这样就没有乱码了,没有乱码了,没有乱码过后呢,我们保存一把,好保存一把,我们来看看这个代码能不能用哈。
02:04
大家看我直接这里面的核心,这里面的代码,我就不一句一句一句的讲了,我们直接看它的最后的结果,大家看这里呢,有一个小小数点,而且你看我故意在里面打的是空格。对不对?那么我们先来看这个结果,算出来是多少。我们看一下,到时候再验证一下就行了,粘一下我们这个结果呢是8.6 8.6我们也运行一下。运行完了会发现呢,诶,它这个结果呢,也是8.6啊,因为它精确到小数点很多位了嘛,但是如果保留到小数点两位,就是8.6没有毛病,那里面的里面的这些具体的这个操作,比如说怎么去做小数点的匹配对不对,怎么去处理,把它进行一个比如说匹配,匹配完了过后怎么去转成我们后缀表达式这面代码都有,有兴趣的同学呢,自己去看一下。啊,核心的知识点跟刚才老师讲的是完全一样的,也不会特别的难,不会特别难,好了,那同学们我们就把现在呢,我们就把这个整体的代码给大家板书一下,打开我们的笔记,看看我们讲的是哪些内容。
03:16
那么我们讲的是哪些内容呢?我们捋一捋。把笔记给同学们补一补哈,补一补。好。笔记补一补。打开它。打开它,首先呢,给同学们讲的,呃,上来过后我们先说了中缀表达式转后缀表达式的一个思路分析。对不对,那上来过后先跟他说了,呃,为什么需要中缀转后缀,以及它的具体的步骤。先放在这里来。具体步骤呢,是在这里。对吧,我把这个稍微的标一下第一步。第二步。对吧,第三步。第四步,遇到预算符,这边逻辑稍微麻烦一点。这边有这几个概念,一。
04:07
二。三对不对,好,那这个完了过后呢,我们说后面还有几个步骤,是不是这几个步骤啊。诶,还有567,也给同学们整理一下,这是第五步。这是我们的第六步。这是第七步。给大家整理一下。第七步,标一个号吧。第八步。好,这是它的步骤,那这个步骤说完了以后呢,这儿还有一个图,就是我们举例给大家举了一个例子来说明它是怎么一步一步过来的,是不是这个道理啊,好,这边我们有个举例说明。啊,举例说明,就是如何将中缀表达式转成后缀表达式的一个过程。标准过程,那么这个过程呢,我们这还配了一个表格,把这个表格呢给同学们复制过来。
05:02
是吧,没有任何问题。就是对应的这个表格也给大家拿到这儿。那么当我把这些说完了以后呢,是不是我们就准备给大家来讲一个代码实现,就是代码实现中缀转后缀的一个具体的实现方案?也给同学们拿到这里来。对,那么在讲之前是不是给同学们画了一张图来把这个流程具体的说了一遍,我把它放到这里。就具体的一个流程,你给大家拿过来了,没问题吧,这是分析思路分析。先把思路分析给同学们板书到这里来。实际上这个思路分析呢,是个图解。没问题。当然代码实现。代码实现,那具体来说,我们这个核心的代码在哪里呢?其实就在这个地方。是不是老师在这讲这个东西啊。
06:00
这讲的是吧,包兰的,包兰的整个这个代码的分析就是上面这一部分。那具体来说,其实就写了两个方法,一个是to infe expression list,一个是pass s expression list。那具体的步骤呢,老师就这里就不再一个说,我直接把代码整体给同学们放在我们的笔记中,同学们呢啊,课后把这个练习好好做一做啊做做一做,那说白了就是核心的两个方法标出来一下。核心的两个方法。一个方法就是。这个方法。哪里呢,我标标成一个颜色吧。啊,这一个是这个方法。这个方法。是不是一个是这个方法,还有一个方法是什么方法呢?还有一个方法就是诶在哪去了,这to in fix expression的list,这两个方法呢,还是有一定难度的,所以说同学们在课后呢,自己好好去理解一下,小心在笔试或者面试的时候呢,面试官问到相关的问题。
07:08
OK,好,同学们,那关于中缀表达式转后缀表达式的这些内容呢,就给大家。聊到这里,呃,最后还有一个,还有一个逆波兰器的一个完整版,你给大家板书过来。放这作为参考,如果有兴趣的同学呢,自己去看一看,就他可以支持小数点了。好,我直接往下拉放到这儿,好吧,这是它的一个完整版,那么标准二。完整版的代码呢,我就诶它的一个说明先写到这就是他的完整版的一个说明,没有问题吧,同学们,这是完整版的一个说明,它支持哪些功能呢。支持这几个功能,多位数也支持,小数也支持,而且呢也做兼容性处理了。好,这是它的一个说明。那么代码呢,我直接拿过来代码实现。
08:01
代码实现,同学们自己去研究和参考,放到哪里了呢?应该是放到这。对不对,这边我们不是也写了吗?可以做这样一些操作,好把代码整体给大家放到这里来。OK,好,同学们,那关于这块的内容呢,就给大家先讲解到这里,课后好好的预习和好好的去复习一下,争取自己能够独立的写出来,而且把思路搞清楚啊。面试官问中罪和会罪转换的这个概率还是很大的。OK。
我来说两句