00:00
呃,行了,同学们,咱们那个接下来呢,咱们继续往下看一看,我们昨天这个作业啊,就是对幺幺这个作业。第一个啊,就是编写一个方法,求整数N的一个阶乘啊,例如五的阶乘是一乘二乘三乘四乘五是吧?或者五乘四乘三乘二乘一是不是,哎,那他要编写一个方法,那如果说不编写方法,我们在main方法里边计算某一个数的阶乘,大家会计算吗?就你这个东西,你要是不会写的话,你就先在焖方里面写,再给他提取不也行吗。是不是啊,给它提取也是可以的啊,提取可以的来,那么CHAPTER07下边呢,点右键啊,我们新建一个叫做home。Walk。来public class。我们叫HOMEWORK1。看一下啊。前面写错了,没变色是不是好,那么这一块的话,我们计算五的阶成,那我觉得这个呢,应该问题不大,是不是因特类型N等于什么呀,五呗是不是?哎,负二循环,那从五开始到到一呗,五到一,那你这边就应该是in特类型,特类型I等于几呀,等于N呗,对吧?N大于什么呀,0N干啥呀,减减呗。
01:27
啊,不是这个这个这个这个这个这个这个I减减,是不是I减减,然后呢,system.out.print打印输出谁啊输出I的值,你看看是不是54321啊,你这个I等于五嘛。I等于五,然后呢,I减减I大于54321呗,是不是你先把54321给它拿出来,Java c呢,编译一下,我们叫做homework1.java,然后Java去运行HOMEWORK1,我说了这个程序啊,你你弄一步啊,你干啥你就。哎,你就测一步啊,你弄一步你就测一步,弄一步你就测一步啊,你别老想着一下就成了是不是,哎,那么接下来呢,我们要算阶乘的话,那这边有一个结果呗。
02:09
是不是应该是有个结果对吧,结果那基耶结割我果都可以啊,结果是不是,哎,那你现在可以先定义一个什么呀?哎,我们先定一个这个result结果,结果默认值不能等于零啊,如果你等于零乘任何数得零啊,那这个等于一啊。对不对啊,那这边就可以ni大于几啊,大于一就行了。I大于一就行了啊,大于一的话,你这样取得结果是啥啥结果呀,加了C变一加你看5432呗,那一就算了呗,对吧,一就算了啊,一就不成了,那result本身就是一呗。对吧?哎,那这块的话呢,你注释掉,那你要给它乘的话,怎么乘,Result等于什么呀?哎,Result乘以什么呀?哎,I的值。对吧,那等于乘以I,你造的是这个值,然后乘以这个ii,就是54325432嘛,对吧?哎,每循环一次乘以次,乘完次给他,那如果是你这样写的话,还不如说哎这样写叫result什么?哎,乘等呗,乘等I呗。
03:11
咱们学过这个对不对,学过这个扩展呢,复制运算符,那这样的话,所以他们讲outline打印输出谁啊输出我们这个哎,Result结果。对不对,那就是这样的一个,在main方法当中,如果写五的阶乘的就是这样,N等于五,Re道给一个值等于一,然后循环的时候怎么办呀?哎,我们这边哎把I的值怎么着?哎,减减5432是不是,哎,然后成等result,最后把这个结果输出,最后for循环结束了,在外边把这个结果给它输出来,那这样的话就是五乘四乘三乘二乘一呗,哎,那么接下来我们再把这个加va c编一起加上运行,你看结果就是一百二是不是,哎,对了,那如果说没问题,你想把它提取成一个方法那。怎么做,就是我们现在要把这个提取一个方法。把这个代码写成一个方法,就这个方法啊,提取或提取一个方法出来啊,这个方法专门来计算阶乘。
04:08
就这个方法专门是用来计算某个数的阶乘某个数的阶乘这个数啊,不一定是五啊。可能是其他的。嗯。对吧,这个数不一定是五,可能是其他的值。啊,可能是六。也可能是七不确定。对吧,像这种不确定的数据。对于方法来说,我们就可以定义为什么,哎,我们叫行参。啊,定义成型。对吧?那么大家再分析一个方法,或者说该方法是为了完成什么阶层的。
05:07
啊,最终是需要一个计算结果的。所以该方法应该有返回值。啊,应该有返回值,将最后的结果返回调用方,啊,将最后的结果返回给调用方。谁调用我就返回给谁啊,就是谁调用我,我就返回给谁。啊。返回值类型定义为什么呀,Int?行餐类型定义成什么呀?Int嘛,行餐类型定义为什么呀,Int。所以这个时候呢,我们就可以定一个方法叫public sta个修饰符败,这不修饰列表吗?是不是,然后仿式类型int了呗,叫是不是,哎,阶阶生成阶乘是不是?哎,你看阶乘,然后接下来你这传个参数进来呗,你算,你说你要算几算几的阶层,你要算五的阶成对吧?六的阶成,七的阶成,你想算几的阶成,你给我传过来,我不管,对于我这个方法来说,我可能只是说,哎,我可以算任何数的阶成,就说我这个方法可以计算任何数的阶成啊,如我这个方法可以计算任何数的啊阶乘啊都能算,那这个时候呢,我就你就可以把参数给传过来嘛,你给我传过来不就完事了吗?
06:35
对不对?哎,你给我传过来,传过来之后,哎,这个N呢,有可能是等于五,有可能等于六,有可能等于七,但我不管,我只针对于你这个大小板进行循环是不是,或者你把上面这个代码拿过来就行了,把这个拿过来放到这,然后把这个该删的删掉,对吧,你还是要进I等于这个N嘛,然后接下来I呢,还是大于一嘛,I减减,然后每循环一次,那result乘等I的值就行了,最后你算完这个结果,你把你把它返回就完事了呗,Return谁呀,哎,Result就完事了,对不对?哎你算完之后呢,把这个result这个结果的返回就完事。
07:07
啊,但你这个N这块肯定得删掉了,这就用不着了,In的N等于五就删掉,没没必要了,用不着了,那因为这地方有参数啊。就你把这个N这个参数调这个方法,你把N参数传过来,是不是这个N就有值了呀。对吧,N有值了,你循环呗,循环乘就行了,是不是乘完之后把结果返回嘛,这样的话我们这个程序就写完了,那你上面应该调啊,对吧?哎,我们调用什么呀?啊调用下面的调用方法啊,计算阶乘啊计算阶乘,那这个时候呢,我们调用你看这个类里边有问方法,有这个方法,这两方法在同一个类里边,所以我在调的时候,我是不是可以直接通过名字就调就行了,不需要类名吧,所以这边的话应该是接成括弧对吧?五。对吧,你算五的阶乘五,你传过去这是五呗。那阶成这个方法调用完之后,它有个返回值啊,所以这块它有个反馈结果。对吧,哎,反馈结果叫return value吧,一。
08:01
啊,那你还可以return y什么呀?二等于阶层对吧?你六的阶层是不是?哎,你六的阶层你看你system.out点打印输出,哎,你在这拿到结果之后return value61啊,你输出一下,然后在这呢return value62,哎你输出一下啊,你看看这个五的阶成是多少啊,是不是就是我们看到的一百二啊是不是,哎这个应该就是什么呀。一百二呢,再乘以六,嗯,应该是七百二吧。来我们看一下啊,Java c编译运行。一百二七百二。这样的话,这个呢,我们就把第一个题目就就实现了。啊,所以说这一块其实挺难的啊,这个挺难的,因为这个初步啊,就是大家之前是没有这种意识的,就是叭叭叭往这个闷方里边写就行了。啊,但是呢,我们应该是有提取方法的这样的一种意识啊,提取方法的这个意识要有。
09:05
啊,要有这种意识啊,就这个方法起个什么样的名字啊,方法的行参我们定义成什么类型啊,方法执行结束之后的反馈值类型我们定义成什么呀。是不是,哎反过类型定义成什么,所以这块的话大家哎思考思考想一想啊,你看着我写的好像挺这个,呃,挺简单的啊,但是你写的时候就不一定是这么简单了啊。
我来说两句