java简易计算器程序框图_简易计算器程序设计思路及流程图

简易计算器程序设计思路及流程图

我们经常会在电脑、手机或网页上等使用简易计算器的程序。所谓简易计算器就是满足非专业人士的一般生活需求,一般也就是加减乘除了。

这样的简易计算器程序看似简单,但真正实现起来还是要好好设计一下思路的。

全局要保存的变量:

第一个运算数:number1

当前的运算符:newOper

上次的运算数2:laatNum

上一次的运算符:lastOper

当前的运算数是否已输入完毕,也就是是否开始运算数2的输入:acceptNewNum

点击一个数字键(0-9)时的事件响应: 当前数 * 10 + 本次新的数字

点击一个运算符(+-*/)时的事件响应的流程图:

9d73e50fa2772f130059ee250dc0b134.png

点击等于号(=)时的事件响应的流程图:

9d2aa17ebfd272419581fb051c21b5de.png

伪代码:

float number1;

char newOper;

float lastNumber;

char lastOper;

bool acceptNewNum;

void pressOper(oper) {

float number2;

if (newOper == '') {

// 1 + :的情况,之前的运算符全被消费了

number1 = result.text.floatValue;

} else {

if (acceptNewNum) {

// 连续点击多个运算符:1+-++-的情况

// 直接进行最后的更新newOper和acceptNewNum

// do nothing

} else {

number2 = result.text.floatValue;

number1 = calculate(number1, number2, newOper);

result.text = number1.toString();

}

}

newOper = oper;

acceptNewNum = true;

}

void pressEqual() {

if (newOper == '') {

if (lastOper == '') {

// 1+2=

// do nothing

} else {

// 1+2=[3];2= :的情况

number1 = result.text.floatValue;

result.text = calculate(number1, lastNum, lastOper).toString;

}

} else {

number2 = result.text.floatValue;

result.text = calculate(number1, number2, newOper).toString;

lastOper = newOper;

lastNum = number2;

// 当前运算符已被消费,清空之

newOper = '';

}

acceptNewNum = true;

}

更新文本框结果信息时,要从float转换为String,需要注意删除float后面多余的0,应该使用%g而不是%f

分享本文至:

WRITTEN BY

decdf403b3726b3ad49e17670fdb3a45.png

极乐鸟博客http://jileniao.net

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值