记得刚开始学Java的时候看到MOOC上有个老师写了一个猜数字的游戏,出于兴趣,小风就写了一个猜单词的小游戏来描述
OOP编程的思维方式。PS:OOP(Object Oriented Programing,面向对象程序设计)可以理解为计算机编程的一种架构。
好了,不BB了。开始了!
首先我们按照常规的面向过程的思维方式来分析这个程序。仅仅定义Demo一个类,该类中存放所有的逻辑代码
由于便于理解,程序先成员的位置上定义两个字符串数组english和chinese。即一个用来存储英文单词,一个用来存储单词对应的中文意思。
注意顺序保持一致。
接着,通过Math类中的random方法获取一个范围在0到english长度之间的随机数i,然后将i作为索引,打印出english[i];并返回chinese[i].
将此部分代码封装成show方法。如下所示:
接下来需要实现用户通过键盘来输入一个字符串,在Java中的util包下有一个Scanner类,该类是JDK5.0之后新增的特性,用来实现用户从键盘输入信息。
这里我们便需要用到Scanner类。因此也要在程序的开头带入该类。同样这部分代码我们也将之封装成方法。
有了用户的输入,下一步自然就是将用户的输入和show方法返回的值进行比较了,这里有个代码优化的小技巧,自己慢慢体会。
好了,基本的过程似乎已经完成了!不过为了程序的体验,这里我将用户猜单词的结果显示单独封装成一个 方法
原因是:你想想,考试的时候你每做一道题就能够知道你的答案对不对么?所以我这里将用户猜的结果单独封装成一个方法,当需要做一个题就知道答案正不正确的情况下
调用就可以了。当要模拟考试的情况时,直接根据judge方法返回的布尔值记录分数即可,不调用该方法。
好了,程序到这里就基本已经完成了。剩下的就剩下我们的程序的入口main方法了。在main里面创建Demo类的对象d。然后通过d去按顺序调用逻辑方法即可
代码如下:
嗯!程序已经完成了。下面就可以试试运行的结果了,下图是我运行的结果:
嗯,还行,程序能够正常的跑起。不过我想了想,觉得似乎有哪里不对啊。一般的开发中,main方法里含有大量的逻辑代码貌似并不理智吖。于是下面来尽行改进!
将主函数中大量的逻辑代码进行抽取,单独封装到一个成员方法中,接着直接在main方法中调用该方法即可。
看,这样main方法中就只有一行代码!这样是不是很完美!
好了,以上就是以面向过程的思维方式编写的整个猜单词的小程序,快去试试吧!
下一篇文章我将用面向对象的思维方式来用代码描述这个小程序。