实现计算器的程序
来源:互联网 发布:常用算法面试 编辑:程序博客网 时间:2024/05/18 01:56
1. 主要学习内容
本周的java基础课程主要学习了如何完成界面的实现,使用NetBeans作为开发工具,在画界面这块确实方便省事了不少,直接拖控件即可以实现。为了深入学习空间的事件相应,我们做了一个计算器的实现小程序。
2.事件及其处理
2.1监听接口
实现这个小程序主要用到的监听接口有ActionListener、MouseListener。
但是我们也可以学习一下其他常用到的监听接口的事件的处理方法:
2.2事件处理的要点
第一创建监听类,并在事件处理方法中编写事件处理代码;
监听类是一个扩展监听接口的类,它可以扩展一个或者多个监听接口,事件处理方法是监听接口中已经定义好的相应事件处理方法,在创建监听类时需要对这些事件的处理方法进行重写,将事件的处理的代码放入到相应的方法中。
第二创建监听对象;
监听对象是监听类的一个实例对象,具有监听功能。
第三利用组件中相应添加事件监听的方法addXXXListener()将监听对象注册到组件上;
//添加事件的监听方法到组件上jButton4.addActionListener(new java.awt.event.ActionListener() {//创建监听对象 public void actionPerformed(java.awt.event.ActionEvent evt) { //匿名内部类中写事件的处理方法 jButton10ActionPerformed(evt); } });
3.最终实现
发现可以使用ScriptEngine中的JavaScript中的eval(String e)方法直接计算表达式。那么只需要保证输入的表达式正确即可。
所以在添加小数点时需要对小数点的添加情况进行判定。
public void pointIsPressed(java.awt.event.ActionEvent evt){ //小数点被按下时,需要判断一下小数点前的情况 String temp =jTextPane1.getText().trim(); for(int i =temp.length()-1;i >=0;i --){ //一种是小数点前是操作符或为空,那么自动补零 if(i == temp.length()-1 && (isOperator(temp.charAt(i)) || jTextPane1.getText().trim().equals(""))) { jTextPane1.setText(jTextPane1.getText().trim()+"0."); break; } else {//二种先遇到操作符,那么直接加上小数点 if(isOperator(temp.charAt(i))){ jTextPane1.setText(jTextPane1.getText().trim()+"."); break; } //遇到小数点,那么跳出循环,提示错误 if(temp.charAt(i)== '.'){ JOptionPane.showMessageDialog(null, "您此次输入有误,请重新输入!"); break; } if(i == 0 && temp.charAt(i)!='.') jTextPane1.setText(jTextPane1.getText().trim()+"."); } } }
核心代码:
public void equalPressed(java.awt.event.ActionEvent evt){ try{ String str = jTextPane1.getText(); ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine se = manager.getEngineByName("js"); Double result = (Double)se.eval(str); jTextPane1.setText(result.toString()); }catch(ScriptException ex){ Logger.getLogger((Calculator.class.getName()), log(Level.SEVERE,null,ex)); jTextPane1.setText("表达式错误!"); } }
4.
刚刚接触java不久,需要学习的地方还有很多,加油捏~
0 0
- 实现计算器的程序
- 计算器界面的实现程序
- 用控制台实现简单的计算器程序
- 用栈实现的模拟计算器程序
- Android小程序-简易计算器的实现
- 简单的计算器程序
- 简单的计算器程序
- 微信小程序--计算器demo实现
- java swing实现简单的计算器源代码程序
- 一个基于python3+PyQt5实现的简单计算器程序
- 计算器的实现
- 关于计算器的实现
- 递归实现的计算器
- java实现的计算器
- 计算器退格键的实现
- 简单的计算器实现
- 简易计算器的实现
- 简单计算器的实现
- const char *,char * ,string,char []之间的关系和转换
- SqlLoad 使用
- C++ static const 修饰成员
- Android动画Animation
- Hadoop笔记之Hive安装过程
- 实现计算器的程序
- eclipse 快捷键大全
- Android三种播放视频的方式
- 字符串重复问题
- JDK,JRE区别
- Android事件分发完全解析(自己)
- Linux中fork的使用(01)
- WebView(网络视图)
- 基于内容的推荐算法CB