第2课 代码编写——实现常规操作

这个应用最麻烦的地方就是用户操作的不确定性,他可能随意地、想当然地按下某个键,就像使用一个实物计算器一样,因此我们要尽可能地在功能上接近于实物计算器,给用户一种良好的使用体验。但对于我们的编程过程来说,还是应该从实现最简单的功能入手,先实现常规操作,否则将会迷失在各种不确定之中。

一、输入数字

(1)设置三个全局变量:前数、后数、算符

如第一节所述,前数与后数是运算过程中的被操作数,算符是具体的运算类型。当程序运行伊始,前数与后数的初始值均为0,算符的初始值为空(“”);当用户输入第一串数字时,我们将这个数字保存在后数中;当用户点击算符键时,我们将算符之前输入的数字,即后数,保存在前数中,并设后数的值为0;

(2)创建点击数字过程

按照计算器的使用习惯,如果要输入数字123,会依次点击三个数字键,但三个数字的排列要用程序来处理,这里存在两种情况:

当后数=0时,即,当用户输入第一个数字时,让后数直接等于输入的数字;

当用户接着输入其他数字时,需要将后输入的数字与之前的数字进行拼接。

每输入一个数字,屏幕都会显示最新的输入结果,具体代码如图2-3所示。

图2-3 定义点击数字过程过程中的参数“数”代表用户按下的具体数字。

(3)在按钮点击事件中调用点击数字过程

当用户点击数字键1时,在点击事件处理程序中调用点击数字过程,并将按钮显示文本作为参数,传递给该过程。如图2-4所示。

图2-4 在按钮点击事件中调用点击数字过程以此类推,其他9个按钮的点击事件处理程序也将如法炮制。如图2-5所示。

图2-5 所有数字按钮的点击事件处理程序

二、点击算符

(1)定义点击算符过程

如图2-6所示,点击算符过程只有一行代码,即,设全局变量算符等于新近输入的运算符。

图2-6 定义点击算符过程

(2)在算符按钮点击事件中调用点击算符过程

图2-7 在算符按钮点击事件中调用点击算符过程

三、点击等号

(1)创建点击等号过程

当用户输入了前数、算符及后数之后,点击等号,此时需要对算符进行判断,依据不同的算符,执行不同的运算;在运算完成后,将所得结果保存在前数中,并显示在屏幕上,同时,设置全局变量算符为空,后数=0。具体代码如图2-8所示。

图2-8 定义点击等号过程

(2)在等号点击事件中调用点击等号过程

如图2-9所示,在等号点击事件中调用点击等号过程。

图2-9 调用点击等号过程

四、代码测试及说明

连接手机进行测试,按照设定的规范操作计算器,计算结果正确。

这里我们创建了3个过程——点击数字、点击算符及点击等号,这三个过程是本程序中仅有的三个过程,在接下来对程序的改进中,仅仅是对这三个过程进行完善,并不会再添加新的过程。

appinventor计算机教程,App Inventor编程开发集锦2-计算器-第2课-实现常规操作相关推荐

  1. appinventor HTML5,App Inventor编程教程-第18课-创建动画应用

    本章将讨论另一类应用--包含简单动画(会移动的物体)的应用.你将学习用App Inventor创建二维游戏的基本知识,包括熟练使用精灵组件,以及处理像两个物体碰撞这样的事件. 当在电脑屏幕上看到一个平 ...

  2. 【AI2】更新app inventor离线开发环境百度网盘下载链接,安卓app图形化开发环境...

    只先存了百度网盘,知道大家有意见,目前还没找到更好的存储位置,找到后会立刻更新,没有百度会员的朋友可以加群,群里定期更新(你懂的)账号.着急用的朋友也可以QQ私聊我,在线发送. 软件使用: 解压之后运 ...

  3. appinventor HTML5,用APP Inventor纯图形化编程自制APP,通过WIFI物联网控制掌控板

    本帖最后由 Forgotten 于 2020-6-8 15:22 编辑 感谢社区大神:让小朋友们打造自己的手机APP,通过OBLOQ-IOT联网控制MI... 原帖中的app比较简单,实现了基本功能, ...

  4. 使用app inventor快速开发安卓app(第一课,点击计数游戏)

    1.输入网址:https://www.wxbit.com/,点击跳转,点击右上角"开始使用App Inventor2 汉化版按钮" 2.点击左上角新建项目,填写你第一个项目的名称: ...

  5. 使用app inventor快速开发安卓app(第二课,音乐播放器)

    1.进入网址:https://app.wxbit.com/,输入你的qq账号密码,完成登录. 2.点击素材列表,将所有的素材进行上传. 3.点击左侧组件列表中的Screen,设置最右侧的组件属性 图标 ...

  6. App Inventor 2开发一款有趣的接水果游戏

    游戏介绍(难度系数:★★) 在屏幕上随机有水果掉落,玩家必须按住屏幕上的水果篮子并拖动,接住掉落的水果,获得相应的分数,不同水果的掉落速度及分数是不一样的,没有接住的会扣分. 当然我们还要注意也会有炸 ...

  7. 长安大学计算机教程,教学情况-长安大学数字测图原理与方法精品资源共享课...

    教学情况 ·近三年来讲授本课程情况: 数字测图原理与方法,本科(测绘工程.遥感科学技术专业),6学时/周,60学时,1届,150人: 地籍测量与土地管理,本科(测绘工程.遥感科学技术专业),4学时/周 ...

  8. JAVA开发与运维(docker运维常规操作)

    使用docker来安装软件步骤. 1.先装好docker环境. 1.4 docker环境及部署 1.4.1 版本 Client: Docker Engine – Community version: ...

  9. appinventor2 MySQL,写给大家看的安卓应用开发书 App Inventor 2快速入门与实战pdf

    没错,你有能力创建自己的安卓应用,而且一点都不难.AppInventor2,让你分分钟成为应用开发者! 本书由浅入深地介绍了强大的可视化编程工具AppInventor2,任何人都可以用它来开发自己的应 ...

  10. MIT App Inventor使用与入门教程

    前言:随着信息技术新课标的提出,移动app应用设计被加入到新课标,程序与算法得到体现,学生的创造性,计算思维与信息意识也可以在其中得到体现. 安卓app开发目前比较火热的是Eclipse和Androi ...

最新文章

  1. LabVIEW图像模式匹配(基础篇—11)
  2. lua学习笔记之数据文件及序列化
  3. myeclipse mysql连接_MyEclipse连接MySQL数据库图文教程
  4. Silverlight 2学习笔记一:初识Silverlight
  5. android模拟器默认位置的修改
  6. anaconda新建python文件_PyCharm+cmd中使用Anaconda 与 新建Python环境(Windows)
  7. Bzoj1007 [HNOI2008]水平可见直线
  8. 扇贝有道180921每日一句
  9. [WebApi] 捣鼓一个资源管理器--多文件上传
  10. 一文带你弄懂 CDN 技术的原理
  11. MySQL数据库出现unknown error 1449错误原因及其解决办法
  12. 辉芒微IO单片机FT60F021-RB
  13. 2017 ACM Arabella Collegiate Programming Contest E. Competitive Seagulls GYM101350E
  14. 文本情感分析实例(R语言)
  15. php微秒,PHP 微秒
  16. 什么是 Benchmarks?
  17. UVA 537 解题报告
  18. 时尚创意快闪图文视频模板剪辑素材
  19. 选型宝访谈:微软CRM X 全球顶尖AI技术=?
  20. Windows python pydub 安装

热门文章

  1. LaTex多张子图并排排列方法
  2. [LaTex] 如何插入多个图片及子图片(subfigure)
  3. 2020-12-20
  4. mmClassification学习笔记
  5. ppt 计算机教学操作,电脑基本操作教学(原创).ppt
  6. 线性空间里的线性映射
  7. Power bi 3.12 瀑布图
  8. 华为大数据云管理平台实测
  9. Matlab画图中怎么打希腊字母,Matlab图形中输入希腊字母
  10. 传统和互联网门禁系统的创新应用和价值探讨