00:00
然后呢,我们接着来写下边这个方法,下面呢叫remove member啊remove member呢,就对应着咱们这个执行的时候呢,比如说点击这个第三项说删除团队成员,这时候呢,我们得需要从咱们现有的这个team当中。哎,把咱们的某一个已经在团队当中这个成员呢,给他干掉啊,那既然他已经在团队了,所以我们这呢,是按照这个member ID进行删除的。嗯,是这个情况好,这个我们先把这个方法的一个意思呢,先写明一下。嗯,这个咱们在咱们这儿呢,应该有这个具体的说明了。那这个就是从团队当中啊,删除成员CTRLC。那删除成员这个我们是依照于这个叫D啊进行删除的,行,那现在呢,要进行删除,我们想想应该怎么去删呢。怎么删呀?嗯,就是比如说咱们现在我想这个先看一看啊,这个团队成员这个我先写啊,这个是关了啊,把咱们这个呢给他抛起来。
01:09
有的时候呢,大家没有思路,你就想一想这个实际当中,实际情况,生活当中你是怎么做的,其实有时候代码其实就是呃,对生活的一个刻画啊,生活中你怎么做这呢?你就用代码去实现生活中的那种想法就可以了,大家都学了这么多年的数学啊物理了,是吧,这个你的这个逻辑能力,你要说多复杂的可能不一定能搞得定,但是这个基本的逻辑还都是能理清楚的,那我们现在的这个开发团队呢,是没有人的啊,我们这块呢,往里边比如说加上两个啊,加个二回车一下,这个我们再来一个七,其是谁啊,设计师啊,可以,嗯,哦,写错了是吧,还得是一个二,哎,写个七。好,然后呢,这时候我们选个一,这呢就有两个人了,接下来呢,我们点那个三叫删除团队成员,这时候呢,我们是按照这个叫TID,其实就是咱们这个member ID啊,此时呢,我们要想删,正常来讲的话呢,我们只能是从这个一跟二当中去选了。
02:07
啊,我这要写个三的话呢,这个就不靠谱了,写三的话呢,就会出现啊,这个先判断一下啊,这个Y,然后会说找不到,那就因为我们这个三呢,不在这个一二之中,呃,1ID呢,就是我们这个填的这个数,是不是你便利的时候呢,在现有的team当中得有某一个员工的TD是你写的这个数啊。否则的话呢,就会出这样的异常了,哎,所以这块呢,咱们怎么做呢,咱们这块呢,就得是去是遍利现有的这个t in的一个I等于零,I呢小于哎,Total,然后I加加。接下来的话呢,咱们从这个现有的这个哎team当中啊,看看他们每一个成员呢,叫memory ID,现有的member ID和我们写的这个ma ID呢,看看是不是有一个呢,会出现相等,哎,如果要出现相等了,这个是不是就要删的这个了,哎,我要我们要把它们给它干掉啊,那删掉它,你想想我们需要都做哪些事情呢?
03:12
对,你看啊,这是咱们现有的一个team,这个team呢,咱们上面设置过一个最大值是五。一二三四五行,那假设呢,咱们这块呢,我比如说存了三个,存了三个呢,现在我们这个输入了一个叫麦麦地,咱们呢,就便利从这个位置啊,其实就偷偷是三了啊,我们就变利这三个元素变力的过程当中,我们看看是不是跟它是有相等的,假设有假设它是相等的,那你想想我们现在都需要做什么事。一方面你既然是删除,是不是再把这个得给它拿掉,后边这个要覆盖前面这个啊,然后如果后边还有接着覆盖,然后再把最后一个是不是再改成到。对,这是一个还有别的事吗?对,你这个把它覆盖过来以后呢,这个相当于是不在这个数组当中的啊,但是人家这个对象,你这个对象咱们不是还是整个是在这个employees,就是整个公司的员工这个里边呢,你只是从这里边挑了一个放到这而已,你现在呢,相当于不在这个数组,但他还在这个数组里,这个数组里边呢,呃,你当初放进去的时候把状态改成是不是BC了,那你现在不在这里边了,是不是他就再改成一个free啊,保证人家再往别的团队或者再往这个团队中去加是可以加进来的,所以把他的状态得改一下。
04:27
啊,另外的话呢,就是我们,呃,这里边这个员工,如果你是至少得是个成员了哈,当初咱们往这里边加的时候呢,呃,最初这个乘以它的member ID是个零,然后我们加进来的时候呢,这不是给它自动赋了一个值吗?咱们不是在这的时候呢,添加的时候是不是给他付过一个值是吧,然后你现在给它移除了,移除了你这时候memory你要愿意制成零就制成零,你要不制呢,其实也无所谓,因为你要再建来的时候呢,是不是又重新会复一个新的呀。对吧,因为你要再添加进来,这不是还得CTRL加加就又往新的一个去付了,所以说这块呢,关于MD改不改无所谓。
05:08
能理解是吧,所以这块呢,我们一旦发现找到一个的话,咱们首先要做的事呢,你就这个像team I这个员工,他的这个status你得给改一下啊啊,那你得改成。哎,点啊,是不是改成一个free了,哎,它又变成是一个这个这个空闲状态啊,然后其次的话呢,我们得需要把后边的哎依次往前移,依次往前移的话呢,可能有多个嘛。啊,多个有多个,那这块呢,我们就跑到这块来写吧,那跑到这块来写这块其实我可以加一个break。就是一旦呢,我们要找到了,这个时候呢,你改一下这个状态,接下来这个循环就结束了,结束以后我们在这个位置呢,开始去,哎,把你这个I后边的元素呢,依次往前移。嗯,有什么问题啊。哎,对,你看我这块呢,要往往前移的时候呢,你得是从I开始后边往前移,但是这个I呢,写到这个for里是吧,那相当于这个I呢,我们就看不到了啊,那干脆呢,我们把它CTRLX我放到这个上面得了,这样子。
06:12
那这样的话呢,我们在这就能看到这个I了,嗯,那这时候的一个for,我们相当于是in一个,嗯,我叫一个接也行啊接呢,我这要写成I。我写成I,写成A加一啊都行,然后呢接呢要小于我这前面要写成是A加一,那就相当于它的后一个元素是吧,后一个元素我让它来充当这个,呃后边这个角标吧,就比如说我下边这里边要写的话呢,我想这个位置呢,写成这个接减一啊,后边这个呢,我想写成这个叫接了,哎,如果要这样写的话,你像这个total,呃小于这块小于谁。行。是小a total还是小于偷偷减一呢?
07:01
是不是就写它就行,嗯,因为我这个位置是接嘛。我让这个位置呢,是不是能取到最后一个角标那个元素啊。嗯,然后最后一个角标的元素不就是偷偷减一吗。就这样写呗,然后这样写一个接加加。别闷了,别闷了啊。没错吧,啊,就是你这样写也行,或者或者同学呢,不该这样写,那你就这样写也可以,就我这写个for,我因它一个J等于IJ呢小于这个事,然后我这先空着,然后这块呢,你怎么写呢,我这写成个team,这我叫接后边这个呢,我叫J加E,这个就不一样了。那我这写的是让他是当的七啊,我这让他等的七,这是接加一了,这个位置你就不一样了,这怎么写啊。是不得减100。哎,因为呢,既然小于todo减一,它最大呢,取到to减二,再加上一,它是不是最大能取到to减一正好是那个最后一个元素。
08:03
嗯,所以这块你不要去死记硬背,说这个位置应该是什么,关键的看你里边的怎么写,这两种方式呢都可以啊,这个我就删一个了,比如我就用它了。好,那这样的话呢,我们是相当于后一个把前一个覆盖覆盖覆盖。那一直到覆盖到最后一个,把倒数第二个给覆盖掉以后,我们最后一个是不是还得表示一下。哎,最后一个元素给制成一个no吧,那最后一个是谁啊,Total是不是减一啊,哎,把它呢改成是个no,然后同时呢,你这个total呢,是不是还得减减啊,咱们前面呢也有过这样的经验了,这两个呢可以合成一个吧,对这个呢,我们就写成team。哎,减减偷偷,哎,等么着。嗯,没问题吧,嗯,这呢,相当于是我们这是在这写一个啊写法一这样可以,或者呢,只写个写法来保存一下。
09:07
嗯,还有别的事要做,不想想?就是如果我们找到了话。呃,其实做了三个事,第一个status变一下,然后呢,你这个呃,最后呃,就是这块呢,相当于是一个往前移的一个覆盖了啊,这个我们标识一下啊。嗯,删除一个元素,咱们前面做了好多这样的类似的练习了,应该有这样的经验,项目二中也有这样的一个经验了,就是后边的元素呢,覆盖前一个元素。嗯,后一个元素覆盖前一个啊元素啊实现呢,就是删除这个操作。那那最后一个元素呢,记者给人家也吃空一下,然后偷偷的减减一下。啊,这样就OK了,成,那这样的话呢,咱们体现的是你找到这个元素了啊,咱们把这个改了一下,这个关于member ID呢,大家其实改不改都无所谓了。
10:06
嗯,那会儿也说这个事了,如果这呢就不改了啊,就不改了,嗯,那么我们也有可能呢。是不是输入的这个ID不靠谱啊。不靠谱就意味着没找到,就像咱们刚才演示的这个一样,我输这个三就没有,那这个时候呢,你这个异常呢,得能够抛出来。那怎么在这里边体现这个问题呢?就说你输入的这个ID啊,不靠谱,没找到。这相当于是不是找到了,但你在这能写个else说意味着就是没找到吗?肯定不行。因为呢,我要找的假设第三个元素是你第一个不是,第一个不是你不能蹦到L怎么样。是不是整个相当于这个循环都走完以后,我们才知道说找到没找到啊。嗯,对,那都走完以后,怎么就算是没找到呢。
11:03
你会发现我们这个,此时这个I,如果你要找到了啊,这个I呢,它肯定不会说取到最后这个值。当然这里边儿有很多种判别方式啊,你要用一个什么flag呀也可以。就是你这里边,你看看他进没进去过,如果进去过了,我把这个flag改一下可以吧,咱们最初呢,讲这个质数的时候,不就有这样的经验了。哎,对啊,这个呢,就是方式很多种啊,不一定非得要用某一种啊,你用一个flag也可以,我这呢就不用了,我怎么做的呢,就是我们这个A呢,你要是进去货,它肯定会在某一个时间停过,停下来,哪怕说你最后一个元素式,最后一个元素式呢,那就是I,其实这时候呢,叫偷偷减一,哎,你要是进去了,那也算break break了,但是如果说你要没有进去,也没有break break过,我们这个I加加它最后退出结束这个循环,一定是这个条件不满足才退出的。而不是说你执行了break了。
12:01
啊,直行break呢,就意味着是找到了,你要没有执行break是执行这个退出的,说明你又没找到,言外之意呢,就是我们这个I呢,如果你发现它的值是total。说明就没找到。对吧,那如果I是total,呃,如果是这个I呢,哎,等等于这个total了。说明呢,没找到。这个逻辑呢清楚,嗯,这个呢就是未找到。指定这个member ID的情况。成,那这种情况下呢,我们就需要去throw new一个叫team啊exception,哎,在这里边呢,我们去写上。哎,咱们PPT里边提供的这个。Air conversy。这样情况。好哎,这个呢,你既然是一个异常,而且还是一个继承于exception的啊,所以我们这呢,先给大家抛一下,把这个抛出来啊,那接下来先别着急结束呢啊,这个我写这合不合适放。
13:11
写着不合适,对你写这的话呢,你像这些操作是不是是不是都做了。对,至少呢,你是不是得写到这个的上面,那往上走移到哪呢。这有两号。哎,其实写到这个位置可以。那写到这儿可以吧?未找到。就是我们这呢是一个循环,这个循环呢结束了。不知道它是break企业的,还是说通过这个循环条件不满足企的,那我们在这看一下,如果你要满足这个,这就说明呢,你是这个循环条件不满足企业的,那就属于你没找到啊,如果呢,你这个没有进去,那说明呢,就是找到了是通过break切的,那下边就走这个逻辑行吧。
14:01
哎,这是这样的情况啊,好,这呢,就是咱们说的这个叫remove member啊,删除一个成员这样的一个操作啊就结束了。
我来说两句