博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从一个猜单词的小程序开始---征服OOP的思维方式01
阅读量:5305 次
发布时间:2019-06-14

本文共 1184 字,大约阅读时间需要 3 分钟。

记得刚开始学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方法中就只有一行代码!这样是不是很完美!

好了,以上就是以面向过程的思维方式编写的整个猜单词的小程序,快去试试吧!

 

PS:由于用的Java本来就是一种OOP语言,上述代码的逻辑中其实也带有一丝OOP的思想
 

下一篇文章我将用面向对象的思维方式来用代码描述这个小程序。

转载于:https://www.cnblogs.com/zhanglixina/p/9614480.html

你可能感兴趣的文章
jquery对id中含有特殊字符的转义处理
查看>>
遇麻烦,Win7+Ubuntu12.10+Archlinux12.10 +grub
查看>>
SqlBulkCopy大批量导入数据
查看>>
pandas 修改指定列中所有内容
查看>>
「 Luogu P2285 」打鼹鼠
查看>>
lua语言入门之Sublime Text设置lua的Build System
查看>>
vue.js基础
查看>>
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>