00:00
同学们,刚才呢,我们已然把这一个赞哈,就是把这个赞呢,咱们已经就就算是写完了,但呃怎么应用有怎怎么应用的过程呢,就按刚才老师说的这个思路,一步一步将其实现,我们先由简单到复杂,对,由简单到复杂,那现在呢,我们就开始来写这个东西了,首先呢,我先把这个呃表达式写出来,Expression。这是个表表达式,这个表达式呢,我们就先暂时用一个比较简单的。好。把它放到这里来。哦,三加二乘以六减去一个二。那么我们在进行这个检索的时候,我们这个思路,呃是怎么样子的呢。首先呢,我要呃做一个。把它这个检索出来,它的一拿到它的一个字符,所以说我先拿一个字符出来VR。
01:01
呃,怎么按照顺序把它取出来呢?肯定是一个Y循环,对吧,大家想一想到肯定是个Y循环。因为你在便利的时候,你肯定是外循环来做的嘛,不停的来做这个工作。好,这是外循环这个地方,那个外循环呢,我们会会干什么,会呃循环的。循环。循环的取出这个expression里面的内容。问题吧,啊内容。或者叫制服。支付,那么你在做这个工作的时候呢,根据刚才的分析,我们还要创建两个站。对不对,我们要创建两个站,那先把这两个站也写起来,所以说你看这个思路有了,相对来说写起来还算是轻松,我们假设这个站的大小为十。但如果说你这个十不够,你可以写的再大一点。那我用十应该足够了,VR我这个名字我们就叫速战。
02:00
就叫number,为了饮食区别,我们叫numbers number stuck。好的,然后呢,我们在创建一个站,就叫oper。是符号串。两个站有了,两个站有了过后,就根据刚才的这个思路,我我把这个思路同学们整个。复制到我的这边来,这样我就不来回的切换了。那这个思路呢,我用这么一个东西写到这儿。呃,当最重要也就是思路,像其他东西呢,你可以就一点点去写这个语法上的东西,其实不是难事啊,大家一定要注意,就你你将来做这个开发,你如果发现你你你的工作,你的你的价值是在于什么呢?如果你发现你在工作,你的价值在于干得多才挣得多。那说明你还是挣不了多少钱。那是肯定的啊,他说老师那个什么样,那你看像真正他那个能挣挣钱,他一般就是这个,他不是靠代码量来挣钱的了。
03:00
啊,它肯定不是这样子的,好,那现在便利的时候,我们看第一个对它进行扫描,那扫描的话同学们,那我肯定要定义一个变量对吧。Index默认,呃,我们是不是从零开始做啊?是吧,肯定嘛,那呃,根据刚才的分析,我们在进行这个取的时候,是不是要要运算要取数字啊,所以说我是不是应该定义两个变量,NUMBER1,默认给它来一个零吧,VR number2。等于一个零没问题吧,是不是还要呃,有了这个是不是有时候还要取这个字,呃,操作符初始化也来一个零,因为我在整个操作的时候,其实也是把这个字符呃当做一个整数来处理的。好,这个也没问题,是不是运算完了过后还有一个结果呀。是不是这些变量我先可以先把它定好,为什么我知道要去定这些变量呢?就是因为我先有思路才知道有这些东西的。当然有同学说了,说老师,那如果我们将来在做一个算法的时候,我们是不是能够这么顺利的把思路写出来呢?不一定就你有,也有可能是先尝试着写写,写着写着你发现,哦,原来是这样写的。
04:12
那那个时候呢,你在有这个代码,反推思路也是有,有也是有可能的。我这样讲是因为我已经知道这么做了。那如果说我们第一次去做,肯定没有哪一个人。对吧,就那么轻轻松松的就能把这个算法想出来。那这是一些常规的算法呢?大家见多就识广了。好,那有了这个变量,那就不啰嗦了,那就取呗,那我们就取出一个这个字符呗,那就取出来吧,VRCH。CH,当然这个CH呢,我们也可以定在外边。啊,这样又可以节省一点空间对吧,初始化为一个空的,诶这个为什么有有问题啊。那这个为什么不能给他呀?
05:04
报了一个错了,他说。这样就可以了,是不是,哎,因为你这样写,你这个又不是字符,又不是字符串,人家又不识别了,这样就可以了,好同学们,那现在开始扫描。扫描我们的expression。扫描这个expression扫描怎么扫呢?CH等于expression.sub。String sub string呢有这么几个方法,大家看,其中有一个方法是这个方法,诶,啊,大家看一下,其中有一个方法是。大家能看到这个浮动小窗孔begin和这个n begin呢,我们就这样去从index取index加一。大家知道,呃,大家知道这这什么意思吧。就是从这个位置开始取,往后面取一个。因为我肯定是一个一个去。
06:01
对吧,取完了过后我问大家为什么这报错了。是不是因为整个这个返回的结果是一个字符串。大家这个能理解吗?啊,如果你们理解不了的话,你你可以这样想啊,你你可以这样写,比如说我写一个V。角二,你们看一下CH2是什么?CSR是不是个死罪类型的呀?OK,那既然是这样子的话,那我待会儿要给他,我应该怎么处理就可以给到他了呀。哎。把一个字符串怎么能图恰呢?其实很简单,是不是包起来一个零就可以了呀?这个能理解吗?他这个返回来其实是一个什么呀,比如说我们假设扫描这个三是不是他返回来,返回来是一个这样的东西啊。这个能理解吧,啊,这个大家能理解就应该知道取一个零是不是就把这个三就相当于变成一个差了呀,诶很简单啊,同学们,这个不难。
07:07
这个一定要理解啊,你要理解后面就没法写了。啊,这个index后面肯定要加加,那它就相当于说第一次取出一个三取加取二等等等等,好,现在你是不是就要根据我们的一个思路来判断了。那怎么判断呢?对不对,我们先判断它是不是一个数,就跟我这写的一样,看你看我这写的也是把它写好了,那么我先判断是不是一个offer,如果是是一个操作符,我怎么去处理。对吧,那如果说它呃是一个数,我要怎么处理大致的这个逻辑呢,也很简单,那现在老师就开始写了if。诶,它是不是一个操作符,这个方法是不是已经写过了呀。我还没写这个方法。是不是操作符怎么还没写啊?那写下了is。
08:01
是不是操作符。是不是我也可以接收一个一个value进来。是一个什么呀,是一个int类型的。我们把它都当做int类型来来取。因为你。你不硬的类型,待会儿不好统一,那我们就判断如这如果这个value。它等于什么?是不是它等于这个加。OK,哎,我这个地方这个加找一下啊,如果等于加,哎,就这样写就可以了。啊,或者value。所以大家看啊,不着急,这个都能看懂的同学们,你只要认真看懂,都都可以看懂,或者value等于一个什么呀。等于一个除。或者。A或者value等于一个什么呀,一个芯。好,其实这样子的话呢,我们完全可以把这个去掉。
09:00
这个大家能能看懂什么意思吧。那整个这个返回的是一个不不定值。就说只要它是一个加,或者是一个这个,那就代表是一个字符啊,是一个操作符对不对,那否则就不是嘛,那不是的话呢,就好办了,那回到这边,我们把这个逻辑就可以加进去了,如果什么呀。我随便用哪个站。用哪个站都行,比如说我就用op站来调吧。因为它只是一个方法嘛,一。把这个CH放进去。好,这个CH,因为你取出来过后呢,如果往这边传,它是不是也会被被被转成一个整数来对待,是不是,因为你这个虽然我去取的叫CH,但是它也有有可能是三呢二啊这些嘛,对不对,所以说这样就可以了,好如果它是一个操作符。如果是超。操作符啊,下面的那else,先把这个写进去,如果else就说明它是一个什么呀,是一个数。
10:06
没问题吧,如果是一个数,根据我们原先讲的这个逻辑,是不是就把这个数直接扔到我们这个站里面去就可以了。你看这个逻辑啊,就是怎么样写呢,点我们是不是有push方法呀。OK,就把它放进去就可以了。对吧,这个时候我们就把这个数放进去了。我这样写会不会有问题,同学们?好,我们先留,留一个留一个问题放这吧,待会儿我们再说,这帮是会有一个什么问题啊,但是这你先不去考虑,肯定拿到这个东西放进去嘛,但是你可以想得到,我们待会儿这个地方放进去的是一个什么呀。是个这样的东西。是一个差,它不是一二这个到时间这个用的时候这个一啊,其实这个一对应的是什么,大家都知道,对应的数字是49。
11:08
是不是事实有啊?如果我没记错的话,一那有同学想不起来了,想不起来没关系,没关系啊,想不起来是非常正常的一件事情,对不对,这个谁也记不说,你看。你是字符的话,那这里面有一个一,你看这个一这个字符啊,在哪里啊同学们。你上哪儿去了?这一你看这这个一呀,它对应的这个十进制是不是有啊。所以你这样写肯定是到时间运算这个结果应该是会出错的。但是这个地方本身是个陷阱,我提前跟你说了而已。那怎么办呢?有什么办法呢?说老师说这个to to不就完了吗?没用,你to它还是49。
12:04
你信不信,因为你把这个,你把这个券转成出,它本身就49,你再转成一个,它还是19啊。所以说刚才有个同学说了,这样子就可以了,同学们。把它包起来。诶这样就没问题了,就CH我先把它转成一个字符串,再转成int,那概就是一了,就说因为如果你是这样一个东西,它如果转成一个int,那就实实在是个inel,这个大家是不是在学SC拉技术的时候,咱们就学过这个了。
我来说两句