教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

北邮JAVA第三次作业科学计算器(附源代码)(7)

来源:网络收集 时间:2026-05-16
导读: result.setText(txt); } } }); bt_del.setBounds(339, 97, 50, 50); frame.getContentPane().add(bt_del); } /** * 数字键盘里的按键按下后触发的事件。 * * @param num 传入字符串形式的数字 * * */ private void

result.setText(txt); } } });

bt_del.setBounds(339, 97, 50, 50); frame.getContentPane().add(bt_del); } /**

* 数字键盘里的按键按下后触发的事件。 *

* @param num 传入字符串形式的数字 * * */

private void numBtnAction(String num) {

numflag = true; //只要输入一个数,则把numflag置为true,表示已有数字输入 num_txt += num; //把输入的数加入到最终要转换成都double运算的字符串 txt = result.getText() + num; //加到txt,使输入的数显示到文本框中。 result.setText(txt); } /**

* 运算符按键触发的动作 *

* @param operator 点击的运算符 * * */

private void opBtnAction(String operator) {

if(opflag == false && num_txt != \进行判断,如果opflag为false,则表示还没输入运算符,

num1 = Double.parseDouble(num_txt); //这个时候把num_txt转换成double赋给num1。 big_num1 = new BigDecimal(num_txt); }

21

if(opflag == true && num_txt != \

num2 = Double.parseDouble(num_txt); //如果opflag为true,表示第一个数输入完毕,且已输入相应的运算符,这个时候是在输入第二个要参与运算的数,则加到num2 big_num2 = new BigDecimal(num_txt);

calc(op); //先计算两数结果,赋给num1,num2置为0,以便后面多层混合运算使用。 }

numflag = false; //numflag置为0,表示当前需要输入数进行运算 opflag = true; //opflag置为true,表示当前已输入一个或多个操作数。 op = operator; //把新输入的运算符赋给op

result.setText(subZeroAndDot(big_num1.toString()) + \正则表达式去多余的0

num_txt = \置为空,为了存储下一个操作数。 } /**

* 进行 +、-、*、/ 等的运算 * @param op 运算符 * * */

private void calc(String op) { switch(op){ case \

num1 = num1 + num2; num2 = 0;

big_num1 = big_num1.add(big_num2); big_num2 = new BigDecimal(0); opflag = false; num_txt = \ break; case \

num1 = num1 - num2; num2 = 0;

big_num1 = big_num1.subtract(big_num2); big_num2 = new BigDecimal(0); opflag = false;

22

在文本框显示, num_txt = \ break; case \

num1 = num1 * num2; num2 = 0;

big_num1 = big_num1.multiply(big_num2); big_num2 = new BigDecimal(0); opflag = false; num_txt = \ break; case \

北邮JAVA第三次作业科学计算器(附源代码)(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/598714.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)