计算机软件实习每日学习打卡(1)20201130

实验序号:实验一
实验名称:简单计算器的实现
实验要求

  1. 学习图形界面的设计,利用 MFC 应用程序(Java swing 或 QT 框架,或 C#)创建基于对话框的应用程序,添加按钮、编辑框等控件;
  2. 能通过设计的按钮控件输入并实现简单算术运算,要求表达式在编辑框中显示,能将运算结果,输出在编辑框内显示;并保存历史的表达式运算记录。
  3. 也能够实现混合运算的算术表达式求解,算术表达式中包括加、减、乘、除、括号等运算符;并且能够识别括号,优先级正确。

日志

  1. 代码方面:由于这学期学习的是java语言,相对比较熟悉,同时便于自己进行java语言的巩固复习,我决定采用java swing来进行程序的编写。
  2. 代码方面:今天老师讲解了计算器实现的三种不同算法思想,分别是
    1改后缀运算符后再入栈运算
    2双栈算符优先级法
    3通过二叉树进行运算
    由于对二叉树不是太了解,第一第二方法相似但方法二相较于方法一简洁迅速,所以决定采用双栈算符优先级算法
  3. 由于之前一直没有接触过窗口的图形化界面的编辑,所以我决定先从java swing图形编辑开始学习,并粗略了进行了半学习半设计的初始编辑。
    代码如下
package experiment1;

import javax.swing.*;
import java.awt.*;

public class Layout {
	
	public static void main(String[] args) {
		
		JFrame jf = new JFrame("测试窗口");
        jf.setSize(500,500);
        
        GridLayout layout = new GridLayout(3, 3, 10, 10);
        //设计格式
        JPanel panel01 = new JPanel(layout);
        JPanel panel02 = new JPanel(new FlowLayout());
		//定义按钮
        JButton btn01 = new JButton("1");
        JButton btn02 = new JButton("2");
        JButton btn03 = new JButton("3");
        JButton btn04 = new JButton("4");
        JButton btn05 = new JButton("5");
        JButton btn06 = new JButton("6");
        JButton btn07 = new JButton("7");
        JButton btn08 = new JButton("8");
        JButton btn09 = new JButton("9");
        JButton btn10 = new JButton("+");
        JButton btn11 = new JButton("-");
        JButton btn12 = new JButton("*");
        JButton btn13 = new JButton("/");
        JButton btn14 = new JButton("0");
        JButton btn15 = new JButton("=");
        JButton btn16 = new JButton("C");
        JButton btn17 = new JButton("CE");
        btn14.setPreferredSize(new Dimension(100,100));
        btn14.setBackground(Color.white);
        //格式修整
        Box Box01 = Box.createVerticalBox();
        Box01.add(panel01);
        Box01.add(panel02);
       
        
		//分组
        panel01.add(btn01);
        panel01.add(btn02);
        panel01.add(btn03);
        panel01.add(btn04);
        panel01.add(btn05);
        panel01.add(btn06);
        panel01.add(btn07);
        panel01.add(btn08);
        panel01.add(btn09);
        panel02.add(btn14);
        panel02.add(btn16);

        jf.setContentPane(Box01);
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);

	}

}
  1. 目前存在的问题
    1格式的编辑上存在较大的问题,格式并非我所想要表达的样式。
    2按钮的样式和布局扔存在很多问题。
    3对部分方法的理解不够到位,需要巩固和学习。
  2. 明天的目标
    1对更多的方法进行理解和学习,是界面能变成一种美观简洁的格式
    2对算法方面进行学习理解

学习的博客

1.https://blog.csdn.net/xietansheng/article/details/72814492

2020.11.30

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值