当前位置: 首页 > news >正文

樟木头电子网站建设报价企业融资计划书范本

樟木头电子网站建设报价,企业融资计划书范本,易语言做网站,北京房地产最新消息基于 Java Swing 实现的简单科学计算器 Hello,大家好!我是玖小鼎。 本次给大家分享的是一个基于 Java Swing 实现的简单科学计算器。 这款科学计算器的界面设计简洁美观,代码简洁明了,注释清晰且齐全 非常适用于 Java 初学者熟悉循…

基于 Java Swing 实现的简单科学计算器

Hello,大家好!我是玖小鼎。
本次给大家分享的是一个基于 Java Swing 实现的简单科学计算器。
这款科学计算器的界面设计简洁美观,代码简洁明了,注释清晰且齐全
非常适用于 Java 初学者熟悉循环、递归、数学运算、 以及 Java Swing 的布局和事件机制。
在文章末尾可以获取到免费源码,欢迎大家下载。

运行演示

  • 使用了 5×5 的网格布局 来排列,程序运行界面如下图所示:

    包括基本运算符科学运算符数字归零等号等按钮。

主界面

  • 上方的文本框一共有两行:

    第一行用于显示计算过程
    第二行用于显示正在输入的数字或计算结果

文本框

  • 支持较复杂的运算,例如下图中演示的运算:

复杂运算

运行环境

配置项框架或软件名称版本要求
javaJDK1.8+
IDEIdea/Eclipse

说明:java 的老版本已经停止维护,推荐使用 java 17 或更新的版本。

功能列表

功能描述
基本运算////取余
扩展功能负数、小数、连续输入、运算过程、归零
三角函数正弦/余弦/正切
其它函数平方根/幂函数
特殊符号π

未实现的功能:连续输入时的计算顺序处理,括号的处理,其它数学函数,感兴趣的小伙伴可以自行实现。

代码实现

  • 定义全局变量:
    // 用于显示计算表达式和结果的文本区域private final JTextArea textArea;// 存储计算结果的变量private double result = 0;// 存储当前操作符的变量private String operator = "";// 标志是否完成一次计算,用于判断是否可以开始新的输入private boolean calculating = true;
  • 在构造函数中初始化一个 Swing 窗口:
    public Calculator() {setTitle("智能牌科学计算器"); // 设置窗口标题setIconImage(new ImageIcon("./src/calculator/logo.png").getImage()); // 设置窗口图标setSize(350, 350); // 设置窗口大小setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗口关闭操作// 初始化文本区域,用于显示计算表达式和结果textArea = new JTextArea("\n0", 2, 20);textArea.setEditable(false); // 设置文本区域不可编辑textArea.setFont(new Font("黑体", Font.PLAIN, 24)); // 设置字体add(textArea, BorderLayout.NORTH); // 将文本区域添加到窗口// 初始化按钮面板JPanel buttonPanel = getjPanel();add(buttonPanel, BorderLayout.CENTER); // 将按钮面板添加到窗口的中心}
  • 初始化按钮面板,设置为 5×5 的网格布局,并初始化按钮标签数组,为按钮设置监听事件:
    private JPanel getjPanel() {JPanel buttonPanel = new JPanel(); // 创建一个新的面板buttonPanel.setLayout(new GridLayout(5, 5)); // 设置面板布局为 5 行 5 列的网格布局// 定义计算器的按钮标签数组String[] buttons = {"sin", "cos", "tan", "log", "AC","7", "8", "9", "+", "^","4", "5", "6", "-", "%","1", "2", "3", "×", "√","0", ".", "=", "÷", "π"};// 遍历按钮标签数组,创建并初始化按钮for (String label : buttons) {JButton button = new JButton(label);button.setFont(new Font("黑体", Font.PLAIN, 20)); // 设置按钮字体button.addActionListener(e -> click(label)); // 设置按钮点击事件监听器buttonPanel.add(button); // 将按钮添加到面板}return buttonPanel; // 返回初始化完成的面板}
  • 下面是点击事件的实现方法,可以根据自己的需求来补充完整:
    private void click(String label) {// 如果点击的是数字或小数点按钮if ('0' <= label.charAt(0) && label.charAt(0) <= '9' || label.equals(".") || label.equals("π")) {String[] lines = textArea.getText().split("\n");// TODO 针对数字点击事件的处理} else if (label.equals("AC")) {// 如果点击的是清除按钮,清空文本区域textArea.setText("\n0");result = 0;} else {// TODO 针对运算符点击事件的处理}}
  • 下面是针对不同的运算符点击事件的处理方法,同样可以根据自己的需求来调整:
    private void calculate(String label) {String[] lines = textArea.getText().split("\n");double x;// 如果当前输入包含"("或"^",则将结果赋给x,否则将当前输入转换为double类型if (lines[1].contains("(") || lines[1].contains("^")) {x = result;} else {x = Double.parseDouble(lines[1]);}// 根据操作符执行相应的计算操作String text = lines[0];if (label.equals("sin")) {getResultByOperator(Math.sin(x));text += "\nsin(" + lines[1] + ")";} else if (label.equals("log")) {// TODO 同类型的实现方法不再赘述,参考上面的sin即可} else {// 如果没有之前的操作符result = x;text += lines[1] + label + "\n";if (label.equals("=")) {// 这里主要是去除小数点后多余的0if (result % 1 == 0) {text += (int) result;} else {text += result;}}}textArea.setText(text); // 更新文本区域显示计算结果}
  • 下面是基本运算符的实现方法,同样可以根据自己的需求来调整:
    private void getResultByOperator(Double x) {switch (operator) {case "+":result += x;break;case "^":result = Math.pow(result, x);break;// TODO 同类型的实现方法不再赘述,参考上述代码即可default:result = x;break;}// 单次运算完毕,重置计算状态operator = "";}

感谢支持

  • 以上就是本次推荐的内容,感谢看到这里的你们,如果觉得我的文章对你有帮助,记得点个关注哦,这对我很重要,你的鼓励是我最大的动力。

源码获取

关注 玖鼎软件科技 ,回复 js001

http://www.yayakq.cn/news/607041/

相关文章:

  • 外贸网站建设 惠州学校网站三合一建设方案
  • 响应式网站预览网站用户量
  • 如何做一个论坛网站做图网站有哪些东西
  • 免费网站建设解决方案山西网络公司网站建设
  • 北京天津网站建设哪家公司好邢台555信息港
  • 厦门做医院网站设计的公司建设网站设备预算
  • h5网站开发培训机构优化外包顾问
  • 网站建设企业宣传册昆明系统开发
  • 高端网站设计哪里比较好章丘网站建设公司
  • 刘涛做的网站微博推广有用吗
  • 网站开发管理方案惠州网站制作推广
  • 网站建设系统改版西安公司注册核名
  • 湖南众诚建设网站中山市安全平台教育
  • 厦门住房建设局网站首页小说网站系统怎么做
  • 洛阳网站建站新乡网站建设加盟电话
  • 自己的网站怎么能让百度搜出来网站主页样式
  • 做外贸网站功能有哪些官网做得比较好
  • 网站接入网方式网站构建工具
  • 梦幻西游源码论坛一个网站做两个优化可以做吗
  • 做电影网站程序好用wordpress主题 搜索引擎
  • 企业网站备案要多少钱电商公司官网
  • 怎么给网站做外链邵连虎绍兴建设企业网站
  • 高校网站建设说明书建行网点
  • dede网站不能够生成vx小程序怎么制作
  • 网站建设专业书入门中企动力是干嘛的
  • 建网站点击率WordPress cosy 主题
  • 网站怎样做才会被百度收录淮南吧
  • 企业网站制作优化长沙创求网络科技有限公司
  • 一流的购物网站建设厦门网站设计品牌企业
  • 建设网站微商城移动网站建设价格便宜