题目:

‎编程题:

‎设计一个简单的四则运算工具,有一个标题为“计算”的窗口,窗口布局为FlowLayout。设计四个按钮,分别命名为“加”、“减”、“乘”、“除”,此外,窗口中还有三个文本框,前两个可以输入数字。单击相应的计算按钮,在第三个文本框中显示计算结果。要求处理NumberFormatException异常和除数为0的算术异常。

‎要求提交源代码或源代码截图、运行截图。

‎界面设计可自由发挥。

代码:

这里我一个包中分了两个java类,这算是一个习惯吧。

代码里有各种注解,还请详细观看,仔细揣摩:

package 图形化界面;import java.awt.*;public class Test {public static void main(String[] args){new useJFrame();
//这里是new一个咱们自己创建的另一个类,另一个类里面才是各种窗口及实现图形化的代码}
}
package 图形化界面;import javax.imageio.ImageIO;
import javax.print.DocFlavor;
import javax.swing.*;
import javax.swing.text.html.ImageView;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
//这里有个继承很重要不要忘记了,少了这个继承会出大问题(下面的有些代码就不会运行了)
public class useJFrame extends JFrame implements MouseListener {//创建文字和文本框的对象,这里呢建议把创建的对象放在全局变量的位置JLabel jLabel1=new JLabel("数1:");//JLabel创建一个标签,括号里面是标签名字(可不加)JTextField jTextField1=new JTextField();//JTextField创建一个可供输入的文本框JLabel jLabel2=new JLabel("数2:");JTextField jTextField2=new JTextField();JLabel jLabel3=new JLabel("答案:");JTextField jTextField3=new JTextField();//按钮JButton addButton=new JButton("加");//JButton 创建按钮对象 JButton minusButton=new JButton("减");JButton multipleButton=new JButton("乘");JButton divideButton=new JButton("除");public useJFrame() {//这里我分为了三步,每一步执行对应的板块,方便后期查找修改//初始化界面initJFrame();//初始化内容initView();//让窗口显示//(显示的这一步放在最后面,这也是最重要的一步,少了该语句,则看不到图形化界面)this.setVisible(true);}//初始化内容private void initView() {//先说一下setBounds的四个参数,前两个是x,y轴。//从左上角开始向右为x轴,向下为y轴,后面两个是宽高//添加文字 和 文本框jLabel1.setBounds(100,100,50,50);//设置位置与宽高this.getContentPane().add(jLabel1);//将组件添加到容器当中,下同jTextField1.setBounds(200,100,150,50);this.getContentPane().add(jTextField1);jLabel2.setBounds(100,200,50,50);this.getContentPane().add(jLabel2);jTextField2.setBounds(200,200,150,50);this.getContentPane().add(jTextField2);jLabel3.setBounds(100,300,50,50);this.getContentPane().add(jLabel3);jTextField3.setBounds(200,300,150,50);this.getContentPane().add(jTextField3);//addMouseListener为添加“鼠标”监听事件,需要实现接口MouseListener//添加按钮addButton.setBounds(100,400,80,80);addButton.addMouseListener(this);//添加监听事件,下同this.getContentPane().add(addButton);minusButton.setBounds(300,400,80,80);minusButton.addMouseListener(this);this.getContentPane().add(minusButton);multipleButton.setBounds(100,500,80,80);multipleButton.addMouseListener(this);this.getContentPane().add(multipleButton);divideButton.setBounds(300,500,80,80);divideButton.addMouseListener(this);this.getContentPane().add(divideButton);//7.添加背景图片"http://pic.netbian.com/uploads/allimg/230405/000245-168062416593ad.jpg"try {URL url = new URL("http://pic.netbian.com/uploads/allimg/230405/000245-168062416593ad.jpg");BufferedImage image = ImageIO.read(url);JLabel background = new JLabel(new ImageIcon(image));background.setBounds(0, 0, 500, 650);this.getContentPane().add(background);} catch (IOException e) {e.printStackTrace();}}//初始化界面private void initJFrame()  {//创建一个窗口//JFrame jFrame=new JFrame("计算");this.setTitle("计算");//设置宽高this.setSize(500,700);//设置单击窗口“关闭”按钮时,关闭窗口this.setDefaultCloseOperation(3);//居中this.setLocationRelativeTo(null);//窗口布局方式this.setLayout(null);//取消内部默认布局(自定义布局)}//鼠标点击事件@Overridepublic void mouseClicked(MouseEvent e) {if (e.getSource()==addButton){System.out.println("点击了加法");try {double num1 = Double.parseDouble(jTextField1.getText());//getText()获取文本框的内容double num2 = Double.parseDouble(jTextField2.getText());double result = num1 + num2;jTextField3.setText(Double.toString(result));} catch (NumberFormatException ex) {JOptionPane.showMessageDialog(this, "请输入正确的数字格式!", "错误", JOptionPane.ERROR_MESSAGE);//出现异常则显示弹窗}}else if(e.getSource()==minusButton){System.out.println("点击了减法");try {double num1 = Double.parseDouble(jTextField1.getText());double num2 = Double.parseDouble(jTextField2.getText());double result = num1 - num2;jTextField3.setText(Double.toString(result));} catch (NumberFormatException ex) {JOptionPane.showMessageDialog(this, "请输入正确的数字格式!", "错误", JOptionPane.ERROR_MESSAGE);}}else if(e.getSource()==multipleButton){System.out.println("点击了乘法");try {double num1 = Double.parseDouble(jTextField1.getText());double num2 = Double.parseDouble(jTextField2.getText());double result = num1 * num2;jTextField3.setText(Double.toString(result));} catch (NumberFormatException ex) {JOptionPane.showMessageDialog(this, "请输入正确的数字格式!", "错误", JOptionPane.ERROR_MESSAGE);}}else if(e.getSource()==divideButton){System.out.println("点击了除法");try {double num1 = Double.parseDouble(jTextField1.getText());double num2 = Double.parseDouble(jTextField2.getText());if (num2==0) {JOptionPane.showMessageDialog(this, "除数不能为 0 !", "错误", JOptionPane.ERROR_MESSAGE);} else {double result = num1 / num2;jTextField3.setText(Double.toString(result));}} catch (NumberFormatException ex) {JOptionPane.showMessageDialog(this, "请输入正确的数字格式!", "错误", JOptionPane.ERROR_MESSAGE);}catch(ArithmeticException ex){JOptionPane.showMessageDialog(this, "除数不能为 0 !", "错误", JOptionPane.ERROR_MESSAGE);}}}@Overridepublic void mousePressed(MouseEvent e) {}@Overridepublic void mouseReleased(MouseEvent e) {}@Overridepublic void mouseEntered(MouseEvent e) {}@Overridepublic void mouseExited(MouseEvent e) {}
}

完成收工,good!

虽然“天不生无用之人,地不长无名之草”。但仍谨记“冰冻三尺,非一日之寒”。

执长剑纵马,执妙笔生花,我王某人在此邀请诸位与我共身。

大学慕课MOOC设计一个简单的计算工具相关推荐

  1. C#设计一个简单计算器,实现两个数的加、减、乘、除、求幂等计算

    设计一个简单计算器,实现两个数的加.减.乘.除.求幂等计算 using System; using System.Collections.Generic; using System.Component ...

  2. 数据结构 图定义和实现 根据郑州轻工业大学的校园平面图设计一个简单的校园导航系统,设计数据结构和算法实现相应功能

    题目:根据郑州轻工业大学科学校区的校园平面图设计一个简单的校园导航系统,设计数据结构和算法实现相应功能.要求所含景点不少于8个(软件学院为其中一个景点).以图中顶点表示学校内各景点,存放景点的名称.景 ...

  3. C#设计一个简单的计算器,实现两个数的加,减,乘,除,求幂等计算,运行效果如下图所示:

    1.题目要求如下: C#设计一个简单的计算器,实现两个数的加,减,乘,除,求幂等计算,运行效果如下图所示: 2.这边需要用到的是VS2019下的C#Windows窗体 3.来吧,展示: using S ...

  4. c语言12之编程设计一个简单的计算器程序,要求根据用户从键盘输入的表达式:操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除。

    题目: 设计一个简单的计算器程序,要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的运算符为加减乘除. 源代码: #include<stdio.h> ...

  5. 用C++设计一个简单的学籍管理系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85930262 资源下载地址:https://download.csdn.net/downl ...

  6. python数据挖掘方法及应用 大学期末考_中国大学慕课mooc数据挖掘与python实践期末答案...

    中国大学慕课mooc数据挖掘与python实践期末答案 2020-09-15 14:34:51 来源 : 热度 : 0 责任编辑 : 中国大学慕课mooc数据挖掘与python实践期末答案 更多相关[ ...

  7. java每日一练——第四天:输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。

    文章目录 题目描述 问题分析 代码实现 运行结果 网上参考 结语 题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和.差.积.整数商及余数. 输入 输入只有两个正整数num ...

  8. 基于色度或其他彩色属性设计一个简单的肤色检测器

    要求:肤色检测 基于色度或其它彩色属性设计一个简单的肤色检测器. 用手机自拍一张人脸图像. 剪切照片或另外用画笔工具拾取那些可能是肤色的像素(人脸部位). 对这些肤色像素计算彩色分布,如彩色直方图.( ...

  9. 用VB制作简单加法计算机,用VB设计一个简单的加法程序

    计算机的多媒体技术已经广泛普及, 对于一般的用户来说, 采用可视化编程工具是的选择, VB程序设计语言就是其中一个典型的代表.Visual Basic是Microsoft Windows的编程语言.V ...

最新文章

  1. python 水位_一种适用于利用图像识别水位的水位尺的制作方法
  2. 1669 DINIC+二分
  3. 关于程序中的操作符左移和右移问题
  4. 唯品会订单分库分表的实践总结以及关键步骤--转
  5. 自我辩证之计划是否该坚持?
  6. 三种excel 多条件计数方法
  7. 调用远程service aidl接口定义
  8. Python 编码问题:‘ascii‘ codec can‘t encode characters in position 的解决方案(中文乱码终极解决方案)
  9. React 第七章 条件渲染
  10. 关于spring cloud的几个核心组件
  11. LiteOS内核源码分析:动态内存之Bestfit分配算法
  12. iconv 中文截断问题的解决方法
  13. 如何避免gradle插件下载:Gradle、Android Plugin、Build Tools
  14. 安全漏洞防御(1)如何防止被拖库
  15. linux安装Python 以及Python包
  16. 002-CentOS7 固定IP
  17. 二代测序call indel 总结
  18. 她笔下的水墨世界令人赞叹,中国风海报沉浸式国风体验
  19. 详述win10下配置tensorflow-gpu
  20. java枚举类型季节实例_Java之枚举类

热门文章

  1. 【运筹优化】求解二维矩形装箱问题的算法合辑 + Java代码实现
  2. c语言二维数组输入数据,c语言编写程序,把下面的数据输入到一个二维数组中:...
  3. git push报错 protocol error: bad line length character: Acti
  4. 简单制作视频画面水平镜像播放特效
  5. citrix VPX 中申请证书的重点
  6. Excel如何将工作表按数值大小排序
  7. JS生成26个英文字母
  8. SSM项目基本配置文件(附图)
  9. 华为设备配置OSPF负载分担
  10. “趣工厂”获得数百万元天使轮融资,梅鹤资本领投...