00:00
好,那这道题呢,咱们就讲完了啊,应该说呢,是我们最近做的这个题目当中,算是一个比较难的啊,其实你说这个题目啊,什么时候最恶心呢。啊,或者最打击你呢,还不是说呢,我们遇到一个需求啊,你不会,或者说诶你看别人写的代码,你发现呢,确实是里边有好多的API呢,你也不熟,你说这个不会,这个不会,其实我觉得还好,因为呢,有些点你只是不知道而已,你知道以后呢,你可能你也会写是吧,什么时候最侮辱你呢?就是说呢,你看这里边儿的每个位置呢,似乎都很清晰。然后放在一起呢,行数也不多,但是呢,看不懂是吧,这个确实有点这个侮辱智商一行是吧?诶包括呢,在笔试面试当中也会有这样的,你会发现呢,一些呃,好的一些咱们所谓的一些好的一些公司啊,这些大厂,你发现他有时候出的一些题呢,就。比较有意思就是你一看呢,似乎很简单,但是你一做呢,你发现它就容易错,里边有坑。呃,相应的,我们这个高考啊,你反正也是这样啊,有的这个题面的话,你说完全这个题不会,你说这个分儿我没得,没得就没得了,我认了是吧,我就是不会,但是你说这道题呢,一看似就挺简单的,结果一算时候粗心了怎么着的,那就是里边人家有一些小坑埋着呢,就是让你跳呢。
01:10
出题呢,其实是一个挺科学的一个事儿,这道题出完之后呢,呃,得多少人能过去,多少人过不去,他都得提前把这个都得计算好,那那个坑就是给你摆着的是吧,你如果粗心了,那坑就是让你跳的是吧,你就跳进去了,那就对了是吧。啊,就这样子的啊行,这个呢,大家下来以后呢,怎么看待呢?呃,就是这个,你要是觉得说前面这个我们讲的这个代码啊,呃,你要是觉得写的还算比较熟,那这个呢,可以试着去写写,如果前面这个代码写的时候呢,感觉已经是稍微有点吃力了,这个题目的话呢,你就先不要写了。啊,你们洗了之后呢,其实也不会说就长一块肉啥的是吧?诶这个呢,也就仅代表这个题目而已啊,不着急,以后呢,有时间了,你想看一看周日啊或者周几了是吧,你想自己测试一下,看看自己这个逻辑思维这块呢,想想想想提升一点是吧?诶你过来看看就行啊,他不必不具备这种普遍适用性啊,仅代表这个问题一个而已。
02:04
反而呢,前面这个呢,你像我们讲这个,呃,这个嵌套循环呀,呃讲这个基本的这个比如说break的使用啊,这些都是很重要的,你说break你不知道怎么用,那可能影响的是一片代码你都不会写。啊,这个更重要一些。好,那么拉回来之后呢,我们这一章最后啊,咱们写一个小的项目,呃,整个的话呢,咱们在每一个阶段呢,都埋了一个项目啊,这呢是咱们整个第一个阶段当中的一个项目,就是基于整个的流程控制结构啊来去做的好,那这个项目的话呢,打开咱们的课件啊,找到这个位置啊,叫实战项目打开,诶这儿呢,是咱们授课要讲的,一共是三个嘛,第一个阶段的,第二阶段,第三个阶段的,然后其他的这个项目呢,咱们在一开始讲课的时候也提到过哈,这是我还放了六个。啊,那有兴趣的同学呢,你可以适当的你打开看看也行,相对应的一些说明文档啊,里边呢也都有啊源码呢,也都提供给大家了。好的,那么回过来,嗯,当然呢,这块呢,我倒建议呢,其实也没有必要,大家可以去看了啊,就是你知道呢,我们学完这个基础以后呢,能做哪些东西,这个倒是可以稍微的了解一下就行,呃,你要是有精力的话呢,建议呢,往后预习预习啊会更好一点啊啊那么授课项目这块呢,我们来看第一个啊叫鼓励记账软件。
03:13
那这块的话呢,1.1呢是一个说明,这呢我提供了一个PPT,然后1.2呢,里边放了源码了,那一会儿呢,我们直接呢,就相当于是看它的一个效果,然后咱们自己来写啊好,首先呢,针对这里边儿这个PPT呢,简单针对这个项目呢,做一个说明,诶鼓励记账软件。好,那整个的话呢,这个项目呢,我们需要锻炼的这个知识点呢,有这样一些变量的定义,基本数据类型的使用啊,循环分支啊,这呢还涉及到这种方法的声明调用了方法这块的话呢,我们会调一个现成的一个工具类里的方法,诶大家呢,能会调就行。啊,简单的理解一下他的一个声明就可以了,这块要求还不高,我们讲到面向对象的时候呢,方法是我们要讲的重点内容。下边呢,关于简单的屏幕输出这块我们涉及到scanner的一个使用啊,这呢就是主要我们涉及到这个知识点。
04:01
好,那么整个的话呢,我们这个项目呢,跑起来以后呢,它的一个效果一个界面呢,是长这样子的,1234,呃,收支明细登记,收入登记,支出退出这样的几个功能,我们呢,从一到四里边呢,选一个选的不是这个的话呢,它会让你重新再输入。好,那你选完以后的话呢,它相应的就会有对应的这样的一些情况了啊,诶在这里边就提到了,我们会有一个初始的一个生活的基本金是1万块钱,就是在1万块钱的基础之上呢,你去登记收入,登记支出。啊,这样的一个情况了,OK,那你选二的话呢,就登记收入三登记支出一呢显示一个明细,下边呢,就简单的对这个效果呢做了一个演示。啊,做了一个演示行,那这个演示的话呢,咱们就不看这个具体的这个PPT了啊,咱们可以回过来那找到,嗯,咱们这个叫参考时参考实践这里边呢,其实只需要放个最终版就行,哎,但是如果有的同学在写的时候呢,发现呢,直接拿着最终版不好写,你可以看一下我这个叫各个阶段版。
05:01
就是你先把代码写成这个样子。啊,然后的话呢,再接着写的话,你再写成这个样子。哎,就可以了,好这块呢,我就演示了啊,咱们就直接来看这个叫随终板了,在这个位置呢,直接CMD一下。哎,就出来了啊,诶出来以后呢,这里边儿,因为之前呢,我编译过啊,像这个留着就留着了啊,不留着你把它删了也行,诶就用这两个原文件就行,这两个原文件里边呢,这个呢是给现成的啊,大家直接用就行了。哎,然后这个呢,是咱们要写这个项目对应的这个代码都在这里呢。行,那这块呢,我们要运行的话呢,针对的就是这个原文件啊好回过来。啊,这个稍微的有点这个长啊。在这块我们来一个张C,哎,鼓励。啊,这个点Java。好,这呢我们就编译了,然后呢,在我们当前这个文件对应的类当中,它使用了下边这个源文件中的类,所以我们编译的时候呢,它会把这两个词解码文件呢都给我们显示出来了,接下来我们去解释运行上面这个点class文件。
06:04
哎,扎巴,哎,鼓励。Count,诶一回车好,这样对应的这个界面呢就出来了,诶我们在这块呢,简单的去演示一下这个项目的一个效果啊,首先的话呢,他让我们去选择一到四中的一个,那我写这个五,这让我们就重新输入啊六。七啊,都不行啊,我写个一。好,那么这时候呢,就把我们当前这个呃,系统当中的一个情况呢,就列出来了,那我们这时候呢,没有任何的收入和支出,所以呢,它只是显示了这样的一个啊标头这样的一个效果啊,当前收支记录啊,就长这样了啊行,然后呢,又把这个界面呢,给我们呈现出来了,很显然呢,这个操作呢,这个显示的这个对应的代码应该是循环体里的啊。诶,那我们下边就选一个二哈,叫登记收入,哎收入的金额啊,比如来了一个哎500块钱。啊,这个呢,输入的一个说明。啊,就是相当于是,嗯,叫。
07:00
这个接了一个私活是吧。嗯,接了。啊一个啊,接了个兼职吧,行,大家要接这个私活,500块钱有点少了都是吧。好,这个呢,我们就写了一个这个信息啊,写完以后的话呢,这是我们再看一下这个一收支明细。他这块呢,就列举出来了,你首先是个收入了,那初入金呢是1万块钱,这不是加了500块钱嘛,诶收支金额500块钱,然后呢,说明就接了一个兼职是吧,诶这样的情况,那接着你可以再选一个二叫登记收入啊,这块我们就换一个吧,选个三啊叫登记支出啊,花了多少钱呢?花了这个。啊,600块钱啊,干什么了呢,这个。嗯,洗了个脚是吧。洗脚600有点多了是吧。啊,不多呀。嗯嗯,那项目多是吗。啊,再再整个一啊一回车。哎,这个呢,就在你原有的基础之上呢,减了一个600,那就变成这么多了。洗脚是吧,诶这样就行好,然后接着的话,你可以再去,呃,收入啊支出啊,就这样一个过程啊,你可以记记录是吧?诶然后最后这块呢,如果我们选一个四的话呢,诶枸杞这块呢,它有一个保护机制啊。
08:12
他这块会提示说说你是不是要退出啊,哎,如果呢,你选一个N,哎,我写个no呢。不行,哎,他让我呢,只能写一个字符是吧,哎,这呢你要写一个N的话呢,这时候呢,他就退出,哎,这个相当于你不要退出,是又回到这个界面了,那我还选四这个你要写一个A。说你不对啊,也就是说这块呢,你必须得写Y或者N,小写大写呢倒无所谓啊,哎,刚才我写过N了,那我写个Y呢。哎,这个整个呢就结束了。OK,就是这样一个过程啊,那么在这个过程当中啊,我们说咱要编写的就是这个点Java的原文件了,然后呢,这个呢是给现成的这个有气立体,哎,咱们现在稍微的说一下啊,这个有气体你看这也行,你或者你回到我们那个需求说明里边看这也行,这都是给现成的啊,直接拿来用就行。这个里边呢,说白了就是封装关于scanner的使用的。
09:03
所以这个题目呢,其实呃难度呢,在哪块降低了呢?就是大家呃需要呢跟键盘呢去交互啊,比如说你写个四写1234,不是这里边写个五就不行啊,这呢必须要求写Y或者N,不是Y或N呢就也不行,像这个逻辑呢,诶我们已经把它封装在了这样的一个类当中了。这个类的话呢,只不过呢是也可以算的,是自己写的,就提前呢,这个我就写好了啊,大家呢,直接拿过来用就行,哎不像是我们的API里边呢,哎说这是一个ma,是Java jdk给我们封装好的,这个呢,呃,也是别人写的。啊,就是你不是你写的,咱就看成是要别人写的啊,只不过呢,这个呢,不是这个Oracle给我们提供的。啊,这个大家注意一下啊,其实有时候我们会有个叫法啊,像Oracle给我们提供的这个API呢,我们称为呢,叫第一方。呃,然后呢,咱们自己写呢,叫第二方。呃,然后呢,还有一个叫第三方,呃,这个你可以理解成叫第三方以后呢,包括我们有很多的一些炸包啊,一些第三方的API啊,不是Oracle的,也不是你自己的,那都是第三方的。
10:09
OK啊,那这就叫做第三方啊,这个呢,你不用自己写了,直接拿过来用就行,在这里边儿呢,现在呢,有一些方法啊,比如说我们需要呢,从键盘获取1234了。刚才不就说1234嘛,诶你要写的不是1234,你看这里边逻辑哈。诶,咱们也见过了是吧,哎,这样写的啊,如果你写的不是一也不是二,也不是三也不是四,我就提示你输错了,你就继续输入吧。哎,只有你输的是1234,我才让你出去。是吧,哎这样的逻辑好这块呢,我们涉及到刚才演示的时候,你收入支出,你到底呃收入支出了多少钱啊,诶我们通过这样一个方式,是不是从键盘当中读一个数值嘛。啊,这就是获取你的金额的,然后这个呢,就是获取你,呃到底收入支出你的说明是什么?呃,像我们刚才演示的时候呢,这里边儿这个呃,洗脚啊。这个这个接了一个兼职啊,哎,像这个呢,都是字符串了,我们就调这个方法就行了。
11:04
OK,然后还有一个呢,就是要求我们必须输入Y或N表示呢,你是要退出啊,Yes啊还是no啊,哎,这里边你看提到了啊,首先啊,这个它要求只能是写一个字符的。那这个都在下边边啊,只能写一个字符,然后呢,如果你写的是Y或者是N的,或者是N的话,是吧,诶我就让你结束这个break呢,就结束一个for了,如果你写的不是Y也不是N,那我就其实你出错了,你就一直输吧。哎,就像刚才我们这里边输一个A输个B,这就出不去了,哎这个呢,就是诶我们这里边儿的这个信息。哎,像这个的话呢,都已经提前写好了,我们直接拿过来用就行了。好了,这个顺带呢,我们把刚才这个工具类呢,诶也给大家呢,去做了一个说明,呃,那接下来的话呢,就是具体的,诶我们怎么去实现呀?诶这里边儿有对应的一个流程图。啊,按照这样一个顺序呢,去实现。OK啊,这呢是这个从键盘呢,去登记这个收入或者支出的这样的一个处理的流程啊,这个细节呢,咱们就不看了啊,下边咱们就来去写啊,直接呢,就仿照着他写好的这个效果呢,咱们去实现啊就OK了。
12:09
好,那么刚才这儿呢,算是一个咱们项目的一个演示和这个有机立体工具类的一个说明,好那么下面的话呢,咱们就具体的来写这个项目了,呃,写这个项目的话呢,呃,咱们演示的话呢,是在这个位置呢去做的这个演示,呃,写这个项目的话呢,咱放到自己的这个代码这个层面。哎,我呢,就找到咱们的地盘。哎,Java扣的啊,在这个位置呢,我去新建一个啊文件夹吧。这个叫哎叫零一了,好把这个打开啊行,那在这里边呢,我们去写了一代码,写了代码的话呢,刚才也说到了啊,直接呢,大家可以把这个utility呢拿过来直接用就行啊,你从这粘也行,或者呢,从我们的诶这个位置呢,诶CTRLC粘也可以啊。好把它就粘过来,那这块呢,我们去,呃,新建一个具体的一个原文件了。啊,这个比如说咱们也叫这个鼓励吧。哎,account.java。
13:01
好,然后把它呢打开啊,哎,首先呢,来一个class啊,鼓励。Account。嗯,在这呢,我们写一个。哎,注释啊。诶,咱们是这个阶段一的这个项目啊。哎,鼓励记鼓励啊。诶,记账软件。哎的一个实现。保存一下啊好,那这个怎么去写呢?哎,稍微的大体看一看,这个他写好的,你看这个代码大概什么样子啊。大家觉得这个好写不?还可以是吧。嗯,大概呢,你看也就这五十来行这个代码是吧,你要是最快的话呢,就ctrl a ctrl c是吧。这个快是吧。咱自己写吧啊,一点点来啊。好,没方法啊。
14:01
哎,这个大家呢,也写了好几年代码了,现在写的代码有点找到乐趣了。什么叫乐趣呢?就是你写的时候,就是你特别一想写到代码的时候,就感觉有点兴奋。好像没有是吧?啊,现在感受到的都是痛苦哈。这个呢,诶,刚开始呢,大家接触更多的时候呢,这个语法上有好多呢都不满足,所以呢就感觉特别不爽是吧?语法上好不容易满足了,一看逻辑又有问题是吧?诶刚开始的时候呢,其实就会这样子的啊,就跟你学骑自行车一样,刚开始的时候呢,就老摔啊,还挺疼的是吧?当你真的会骑以后呢,你可以骑着自行车去看风景的时候,你发现呢。哎,还可以这么美好是吧?OK啊,行,慢慢来啊。好,那我们看一看该如何去实现啊呃,首先的话呢,当我们去运行的时候呢,在这个界面当中啊,咱们把它把这个关掉啊,把它这个呢,咱们再跑起来。哎,重新在我这儿做一个运行啊,诶一出来的时候呢,它就出来这样一个界面了,然后这个界面的话呢,你发现呢,它反复的去出现哈,那很显然呢,它应该在一个循环体当中了。
15:04
啊,那我们就应该用个循环结构啊,这个循环结构的话呢,呃,用什么样子的呢。Well,是吧?哎,我用while行不行。哎,其实也可以啊,就是如果我们这个徐管体的话呢,这个不止执行一次。哎,就会执行多次,其实这时候他们用哪一个循环都可以。啊,那为什么选择用for呢?首先用for可以是吧。只不过呢,我们说放循环,什么时候适合用它呢?对,有明确次数的,像我们刚才说便利啊,100以内啊,或者10万以内的时候,那就是用for是吧,诶这时候呢,没有明确数了,那咱们就习惯上用well了,Well呢,一个叫do well一个叫well,这俩呢其实都行啊,哎,这个呢,我源码当中这块写的是个do well,那我这块呢,我就写成well了。OK啊行,那well呢,整个框架呢是长这样子,里边呢写上这个界面的效果,那先大体上来看一看,这个循环的话呢,它在这个位置,其实也没有办法明确指明它的次数了哈,那我们该如何去控制它的一个退出呢?
16:10
诶根据这个来判定的是吧。哎,对,根据这个break呢来判定的,哎所以整个这个逻辑的话呢,哎相当于呢,我们这块呢,你可以暂且吧,咱们比如这块先写成个true。然后里边呢,看看通过break呢,能不能把它给解除掉是吧,OK啊行,那么一上来的话呢,我们就外处这里边呢,需要把这个界面的效果呢给它弄出来,那这样对应的就是它的一个输出语句了,哎,所以这咱就老老实实的给他写一写啊。好,这样呢,你就直接粘过来就可以了,嗯,稍微有个小细节呢,你看这块它有个换行啊。那我们就在这个位置,直接又来一个杠N,是不是也可以?哎,这个呢也OK啊好,那么接下来的话呢,是这个啊。1234这块还有一个换行,然后呢,请选择行。
17:00
哎,换行,然后呢,在这里边儿写的是一个他哟,没粘过来。从这到这儿右键一下。好,这就出来了。这呢一共是有1234个。先把这个呢,我们弄过来。这个呢,就是不难啊,没啥技术含量,但是你小心一点。嗯,这样啊好,然后这块呢,它也有一个换行啊。这个我们把这个呢,也给大家提供一个,就是这个点体现了这个效果,然后最后这块呢,还有一个这个。嗯,哟,这个我们先这样啊,CTRLC。行,这个删了重来吧。
18:01
嗯,这么着啊。好,然后的话呢,你发现他这个光标呢,目前在这闪,也就是说呢,我们直接在这个后边呢,去写的这个输出,那这个换行我就不要了啊。在这块等着用户呢,去做这个输入的效果好了,那下边的话呢,我们就可以呢,从键盘呢去读取用户的一个选择了,这个时候呢,使用的是scanner,只不过这个scanner呢,咱说了不用你自己去写了,还有现成那里有的你可以去用。哎,所以呢,我们就直接,哎对这块呢,有同学说,诶这块我们用另外一个类了,是不是得导包啊。诶,对,理论上来讲没有问题,一定要导包,只不过呢,他俩在同一个文件目录下。这种呢,其实也省略了。就是你不用写import啊,不用找了,所以呢,直接我们就使用这个类就可以,这个类呢叫做utility啊CTRLC。啊,回到这个位置啊。诶直接呢,我们通过这个utility点,我想获取的是用户的1234这个选择啊,一看这块呢,诶就它了哈,所以我们用的是这个方法,建议呢,你粘嗯你别自己你看read menu selection这一块去发挥发挥是吧。
19:04
一发挥呢,这块字母给写错了,反而还不如你粘呢哈。所以呢,这个操作呢,我们就是来获取用户。哎的这个选项是吧。哎,你是123还是四啊,如果它不是1234中的呢,直接呢,在我们这个方法里边已经给你处理好了。他出不来,出来的呢,都是。啊,1234中的一个啊。这个得到的结果呢,再看一眼,它是一个差哈。啊,这个大家呢说诶这个为啥就是表示这个这个你得到这个差呢,这个咱们后边讲方法的时候会说这个方法调完以后呢,他得到的一个什么结果,它这块会显示啊。啊,这个你先知道一下啊,所以呢,这块我们要接收的话呢,应该是一个叉来接收。Selection这呢,就我们获取用户的选择,注意啊,这时候用户的这个选啊选项了选择了。这个用户的选择或者叫选项啊,它是长这个样子的。
20:01
这个一或者是这个二。哎,或者是这个三。注意是带单引号的1234。所以下边呢,咱们要。是不是分支了。对,这个分支的时候呢,呃,123123。哟。这个我整错了是吧。这个。是吧,1234哈,诶那么这时候呢,我们去处理这个分支的话呢。是不是正好选项次数也不多,还是个差,所以。是不是Switch啦?OK啊。Selection。对,往这一放。哎,下边呢,就kiss了啊,那么这个case的话呢,这样写对不。对这个咱们刚才说了啊,这个时候的话,我们是带单引号的1234,你这个写一的话呢,虽然说它也不报错是吧。但是的话呢,显然不对。这个咱们前面不是提到过这个事儿吗。
21:01
咱们这块得到的1234,实际上是左边这个字符的1234啊类似于呢,跟A都是放一个维度的哈,这个A呢,在这边叫97。一呢?还记得吧?应该是49。啊,这个没记住就没记住了啊,这个还好哈,就这个一呢,对应这块是49,如果你要这样写的一的话呢,相当于这个一是是这里边儿的一是吧。哎,咱们现在这个123呢,是这左边这个啊,都是带引号的,所以这呢务必啊,记得给它加上一个单引号啊。一共呢是有四种情况。那这样的四种情况,123哎四这四种情况,因为呢,我们这块呢,只要能出来只能是1234这几种。也不可能别的了,所以default呢,我可以就不写了啊。那如果你要是一的话呢,叫登,呃,叫收支明细,咱们先简单写一个输出语句吧。所以大家写程序的时候呢,你可以适当的时候呢,就先测试啊,要收支明细。
22:03
来,我先CTRLC在这呢,也整这个输出语句啊。登记收入。哎,登记收入啊收入。登记之初。哎,这个呢叫退出。诶保存一下好,那么这个的话呢,我们先把整体逻辑呢,先写成这样,我现在的话呢,就想先跑一下看看效果啊。哎,这时候能跑吧。能跑是吧,哎。嗯,这个咱们就留着它了啊,咱自己再起一个,在咱自己的这个里边啊,CMD一下。拿出来啊。嗯,在这啊,Java c鼓励点Java。鼓励。诶回撤好,这时候就出来这个效果了,说鼓励结账软件1234,你要觉得稍微对齐差点意思,你再往前移一下就行,请输入选项啊第一个。
23:07
哎,收支明细是吧,来选第二个登记收入登记支出。啊三登记支出,然后来一个四,哎这个退出,现在呢,我们是没有这个退出的逻辑哈,所以现在呢,你还是出不去的,只能不停的在这循环去执行啊这呢我就CTRL塞一下啊,就给它强制结束了啊好,那么再回过来整个这个逻辑的话呢,应该问题不大啊,框架呢就搭好了。诶打好以后的话呢,我们这块呢,接着来去写,接着写的话呢,其实可以按照这个顺序呢去写了。啊,当然你也可以呢,比如说先把这个退出呢,先搞定也行是吧。大家先整这个退出吧,比如说。呃,这个退出的话呢,直接就决定了,我们要结束当前这样一个循环结构啊,现在的话呢,我们说一旦你要选的是四这块呢,用户有一个保护机制。啊,就像人家这块来个四,他会先问你说确认是否退出。咱们也这样。诶,所以呢,当你选择四的时候呢,先有一个输出的一个语句啊,那我们就在它这个基础上来改吧。
24:04
说呢,确认是否退出啊,这个我们换行了,比如说也不要了。他这块呢,貌似呢有一个空行是吧。呃,你要是想注意到这个小细节呢,你也可以在这个位置呢。亮一下。好,上来呢就先换行。好确认是否退出,那这时候呢,就需要用户呢,去输入这个呃,你的选择了,同样呢,还是使用咱们这个utility,只要呢,你用到了跟呃控制台呢去交互了,这个你都从这去找就行。哎,用的是这个是吧。Readformed selection啊。嗯,回过来。哎,回到代码这块啊,这个我们诶直接就在这儿了啊,在咱们用的还是这个utility。你看第二。这个有点,哎哟。有点长这个呢,你不用自己去发挥了啊,直接呢,选中CTRLC粘过来。哎,就用它。好,那它这个调完以后的话呢,再看一眼也是一个叉,这个不是Y呢,就是N,嗯,这块注意得到这个Y和N呢,是它转换成这个大喜了就啊。
25:05
就是现在呢,拿回来的其实是个大写的操作,这呢就是用户的一个,诶是否退出了啊叫意比如说。嗯。这样是吧。哎,这呢,就是它不是Y就是N啊,那什么时候他退出呢。如果呃,用户这个呢,它是一个Y是吧。哎,那他就表示呢,要退出。哎,如果呢,不是的话呢,它就表示呢不退出。哎,这是if else,那这里边儿怎么写。哎,关键问题的话呢,就是我们要结束这个循环哈,他要写的是Y要结束循环怎么处理。在这写个break。啊,那你这个break呢,相当于是不是结束这个Switch了是吧。加一个标签。嗯,加标签一种方式或者的话呢。
26:01
哎,或者话呢,你看咱们我记得前面做那个ATM的那个题目的时候,有过这个思路是吧,咱们可以这样啊,我定一个布尔类型的变量啊,比如说is,诶叫is flag吧,这个呢,先是一个处。呃,然后呢,这个呢,CTRLC我先写到这儿,现在这不还是出吗。对,然后当你这块选的是四四里边是Y的时候呢,我把它呢制成是一个。False,对啊,然后这个写完之后呢,诶,这个你当前这个case执行结束,这个Switch执行结束,哎,然后又翻回去呢,一看是false了,是不是就退出了。哎,就可以了,好这呢,就我们这个操作啊,然后else呢,表示你不想退出,不想退出呢,接着回到我们这个界面就可以了,这里边儿呢,也没有任何的逻辑,所以呢就把它就干掉了。啊,这个位置你非要讲的话呢,其实这个大块呢,是不是可以考虑省略了。哎,对于省略的这种场景呢,你也可以考虑把它就放到后边了。哎,所以代码你看就好像有点简单简洁了就是吧。啊,你要觉得不好理解呢,你就还跟刚才这样。
27:02
这样去处理就行。注意这个break呢,是结束我们这个Switch的啊,好保存这个呢,我们关于退出的逻辑呢,就写完了,那写完之后呢,我们就紧跟着先测试啊。首先诶编译运行过来了,直接我们就看四了,现在是否确认退出,那我写个A啊这个时候。不行,这个逻辑呢,在我们这个read里好的,然后我选一个小N。哎,你看这时候又回去了。还选四选一个Y。哎,这个就结束了。诶,所以这个退出功能没问题。搞定啊,税收搞定以后呢,下边呢,就是收支明细登记收入登记支出,那咱就一个一个来吧。嗯,先看一下叫收支明细吧。哎,当用户选择看一下人家写好这个啊,哎,我选个N,当我们选择这个一的时候,他呈现出来的是这样的一个效果。那很显然呢,这应该是我们选择一里边的一个输出语句了,那我们也这样做,哎把它呢,诶邮件一下。
28:00
在这个位置呢,我们就写上这句话,然后一四呢这块呢,诶好像有好几个输出语句。哎,我们呢就先这样,目前呢,看到的效果呢,它是哎这么着处理的,那咱们呢,就也按照这个想法啊,CTRLC一下我们就直接拿过来。那就在这儿有。没粘过来可能啊这右键。那这就可以了。呃,然后呢,这块呢,有空行,这个空行呢,相当于就是你写你这个对应的这个信息了。这个心的话呢,你可以在这块呢,体现为是一个杠恩。然后最后这个位置。哎,CTRL喂一下。好这就可以了,然后这里边儿这个空格的话呢,建议我们就换成这个杠T哈。那使用我们这个制表符代表一定范围的这个,呃,一般呢,都是四个空格的意思了。
29:00
说明说明,那就这样吧。这个它整个是这一块的啊。或者你让他短点也行啊。好,这个呢,就是我们目前看到这个一的这个情况,但是目前这个写法呢,肯定是肯定是不太准确的,因为呢,我们登记收入登记支出呢,一会儿要显示到这儿了。那不行呢,我们就先写成这样啊,一会我们看怎么去改啊这个操作啊,现在呢,似乎呢,这个想法还不多啊,那么这个呢,我就不测试了啊,咱们直接说下边这个操作叫登记收入,回过来看一下,人家写好这个,当我们选择这个二的时候呢,诶上来一个说本次收入金额,诶那咱们这块也一样啊。呃,一上来当用户选二的时候呢,诶给这样一个说明,这个呢,我们换行也不要了,直接在后边去写这个金额的话呢,还是使用我们有T线程的这个方法,读的是一个数值,用的这个read number。好,回过来。啊就就在这儿了啊好这个呢,我们就有啊点read这个你没把握呢,就粘过来啊这块我们就得到具体的这个数值了,嗯,这是一个什么类型呢。
30:07
Int型的是吧。那int型的这个我们叫一个money吧。好,这个呢,就我们获取了这个收入的金额了。啊,那按照他这个逻辑呢,比如我们写个100块钱,紧接着的话呢,让你说一下你这个收入的一个说明。同样的道理啊。诶,大家你看我写的过程当中,你也把握一下整个这个逻辑,我们是参照着人家写的这个来的,一会儿你写的时候呢,也可以这样。诶,本次收入的一个说明下边呢又得,诶光标在这闪,等着用户呢去输入了,这其实输入的就是个字符串了,所以我们还是使用这个utility第二。嗯,这里边儿呢,去调它读字符串的这样的一个方法叫read string。哎,这块有个限制啊,这个长度不能超过八,就是你这个说明的内容不能太长了。啊,这个表这啊。好,这呢是它的一个说明啊,是一个字符串了。
31:05
啊,这个呢,我们称为呢,叫关于添加的一个啊description。啊,叫de了啊,这个就是收入的一个说明了,好,那么回过来看看他接下来干啥呢?这个是100块钱,比如说这个。啊,大家上大学的时候呢,做这个家教是吧。哎,OK,好,开车。好,这块有一个叫,呃,登记完成。这个也这样啊。咱们在哎这个位置。诶也有这样的一个显示啊好,那么从这个效果上来讲的话呢,这块是完事了,但是呢,你不要忘了这个登记的这个收入的这个钱,还有登记的这个说明它需要呢,在我们一会儿显示这块的时候呢,给呈现出来的。所以暂时你这样处理呢,还不行,并且呢,我们这里边儿提到说刚才那块演示的时候呢,也注意到了啊,它有一个初始金。啊,你看我这会儿在点一的时候呢,出入金呢是1万块钱,刚才那加了100就变成10100了,所以这时候就涉及到了我们回过来啊,一开始的时候呢,在诶一循环之前,这一个呢,叫初始金额。
32:13
哎,这个初始金额呢,我们比如说用这个,诶他这块好像。哎,是一个int类型的是吧,那咱们也用int吧。诶,这个呢,不妨我就叫做balance了啊,1万块钱。哎,这是它啊,然后这个意思,Flag呢,这个咱们也记录一下吧,它呢来去控制这个循环的一个结束。好的,呃,这呢是它的一个初始金额,嗯,这个呢,当我们在有了这个收入的时候呢,在现有的这个balance基础上呢,应该把这个钱给他加上。啊,当然这个加的话呢,其实我们应该做一个判断哈,叭,如说你这个衣服它得是大于零的是吧。呃,这个逻辑的话呢,其实大家啊,可以后边也考虑给它加上,或者你没加没加呢,你写的时候呢,暂时就不能写错了啊,诶在现有的这个balance基础上呢,加等于我们这个A玛是吧。
33:01
哎,这样就行好,这呢是把这个收入登记上了,另外这个说明呢,你发现了,人家也给记录了啊。你看在这块呢,呃,家教这个信息给记录了,而且这个记录的信息呢,还给它显示出来了。啊,相当于呢,就是这个信息呢,咱们还真得给他。记到一个字符串里边啊,然后这个字符串呢,你看整个来讲呢,它还不是一项啊,挺长的,这样这么这么这么多项了。这个事儿怎么办呢?这是我们这个里边呢,目前遇到的其实是一个难点啊。你看这个钱的话呢,现在balance咱们算是给他记录到,哎,换个颜色哈。诶,记录到这个里边了是吧。这个钱money呢,本身呢,这个呢,也也也在这儿呢。而且你要小心点,出了这个二的时候呢,这块就没有了啊,诶我们得及时的把,呃,包括你现在这个家教这个信息,包括呢,这个你属于一个登记的一个收入的信息,整个把这一行的信息呢,得放到一个字符串里面。
34:01
讲是这意思吧。嗯,那这个字符串呢,我们得提前定义出来。哎,提前定义出来,好,那我们就这样啊,诶在这个位置呢,我们去定一个死锥形的,哎,关于整个我们收支的一个说明。啊,这个呢,哎,我就写成一个叫,比如说一个叫infer吧。哎,收入支出一个说明啊,这个呢,我一开始呢,就是没有任何的信息。啊,就是这样的一个空的啊字串,他呢来去记录啊收支的。信息。好,那么这个信息怎么去处理呢?比如说现在呢,我们是登记的一个收入啊,这块呢,显示的这呢,是你这个收入的说明,紧接着在这块呢,针对当前这个字符串,我说呀,得给他。加上一个新的字符串了。这个里边信息是什么呢?首先显示的一个叫收入吧。哎,然后呢,杠踢一下。再加上。Balance,这个加的时候你小心点,这字符串,这是数值,这个是连接,没啥事儿,可不可别变成加法了是吧。
35:04
哎,这个是一个杠七输入它,然后后边呢,又杠七一下。嗯,然后加上你这个801吧。二一是吧,然后再接着2T。对,然后再加上咱们这个他是吧。诶CTRLC诶粘过来好接着再注意哈,那如果我们后边呢,再去登记收入的话呢,其实是有跨行的操作的啊。这个小细节呢,你可能通过测试呢,你才会发现这块要补一个杠N是吧。没问题吧?另外一点的话呢,这个位置注意一定是加等于啊。当你要是再去登记收入的时候,你在现有的这个字串基础上呢,去又补了一个串是吧,你不能重新赋值。啊,这个位置呢,要小心一点。没问题吧?好,这个登记完以后,诶注意啊,这个登记完以后的话呢,我们就显示要登记完成了,接着当用户再去这个操作这个一的时候呢,是不是在你这里边儿应该把我们这个INF给显示出来。
36:04
哎,所以紧接着在这个位置。啊。哎,欧马丽英呢。哎,是不是要加上。加上以后的话呢,它这块儿有一个换行,行,这个我们就它本身这块呢,会有这这块本身它有换行,然后这块不还有换行。其实这个换行效果应该就出来了。行啊,这个小细节的话呢,其实你可以通过测试去发现,嗯,吸烟写成这样了,咱们跑一下啊,这个还是有点痛苦,也是我们这个里边的一个关键的一个位置哈,先做编译。哎,运行好,首先呢,我们先看一下这个一哈。哎,一的话呢,诶这块你发现呢,它有两个发行了。这个原因呢,是因为我们这个位置呢,本身有个滑行是吧。哎,这个呢,又因为他啥也没有信息。诶,所以这块呢,他自己这块。嗯,相当于也有一个换行的效果了是吧。哎,这两行就两行也还好啊。
37:00
好这个再回来,呃,下边呢,我们选一个这个二啊,登记收入收入金额100啊,比如这块也是啊家教。哎,这个我们是换行操作的啊,这个你一会儿把那个换行去掉啊,它就同一行了。登记完成选个一。走起,诶。实际上这个事儿呢,成了。呃,直播呢,就是这个位置画行就不要了,然后这块呢,没对齐是吧。啊,这块我们来处理一下这个显示的一些问题啊。那回过来,嗯,首先呢,这个位置呢,咱们就建议就不要了。刚才登记收入的时候呢,这个位置我们换行了,这个也不要了。然后接着来看这个这个事儿啊,嗯,应该在这个位置来个杠T是吧。然后后边应该还得需要一个哈。后边不用吗?走一下走一下看不太好,那就先不要。哎,再来一下啊。哎,这个呢,我们,诶这个还得CTRL。哎,我我写个四也行啊。
38:02
先编译。运行啊,这个第一个收支明细啊,这不就一个画好了啊,然后选一个二登记收入啊,100块钱啊家教是吧。啊,这个我们再选一。那这个还得补一个是吧。嗯,补一个应该就成了哈。行差不多啊,我就不再测了,诶这个呢,关于登记收入这个事儿呢,就完成了,这个要完成的话呢,下边这个登记支出啊,其实跟他。逻辑是一样的是吧。哎,我就直接抄了啊CTRLC把它呢干掉。A ctrl v粘过来,好从上往下捋,说本次。诶,支出的这个金额这个呢,你叫MONEY2吧。好,然后这个呢,玛尼二呢,诶得大于零啊,你还得有一个并且是吧。对。或者这个balance呢,你得大于等于这个MONEY2是吧。在现有的来记住这样呢,减等于玛二。
39:00
这样吧。对吧,好,然后呢,本次支出说明。然后这个呢,是你这个呃减的哈,叫minis吧。哎,减的这样的一个描述好了,然后下边这个in for这块呢,就在现有的基础上呢,叫支出。嗯,加上本身balance,这个叫MONEY2了。呃,然后呢,加上这个支出的这样的一个说明,诶这个登记完成是不是可以了。哎,就妥了啊好,那这个咱们整体看一看,最终的一个情况啊,我选个四选一个Y。好重新的编译运行好,这个呢,其实算整体我们就写完了,看对不对啊,先来看一下一。哎,这样的一个效果没问题哈,选个二登记收入啊100,哎,家教的。回车好,先看一。好,来一个三登记支出支出金额啊500。啊,这个洗脚。
40:01
嗯,好,然后诶完成是吧,然后呢,再看下一。看一下啊,这呢,在现有的10100的基础上呢,诶花了500块钱。是没问题是吧,哎这个呢,其实就成了,接着你可以在收入支出再去写就行。那整个呢,我们最后呢,再选一个这个四,哎,选一个Y,诶整个项目咱们就写完了。哎,就这样来处理啊,这里边这个难点的话呢,肯定是我们这个收入和支出这块的细节,诶需要注意的就是我们这个收入支出的这个整体上显示的这个效果,这块呢,咱们其实用一个字符串呢来呃接收的呃,这个字符串呢,大家要能拼一拼啊,里边涉及到这项呢,一个是你的余额,所以前面这块呢,你呃收入呢你就加,支出呢就减,加上你本身获取到这个值,加上这个描述。OK,行,那我们就这样呢,来去处理啊,大家呢,下来以后呢,可以试着把它写一写。
我来说两句