实验1 Calculator 简单计算器

我先用截图展示一下我的实验成果

下图为整体的样式
在这里插入图片描述
以下是依次展示一下加减乘除(加减乘都差不多所以就展示一个,除单独展示),以及 1/x、C
因为截图的话不够直观,所以决定用视频,然而只支持少数视频格式,为了这个,我还向b站投稿了,就为了转为b站视频的格式,顺便也记录一下我的学习。想不到我的up主生涯会从这开始。。

一个记录计算机学习的小视频

我以为是要下载,再放上来。搞了老半天,原来只要复制连接即可。

代码如下

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
[video(video-FFqfmSNa-1588992212265)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=668064612)(image-https://i-blog.csdnimg.cn/blog_migrate/064ac45bbe84ff4a5f14b006a238d22a.jpeg)(title-一个记录计算机学习的小视频)]

using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Calculator
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        double i,j,k;
        string x,y="";  /*  x用来记录使用的运算符,y用来标记 1/x     */

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void label1_Click(object sender, EventArgs e)
        {

        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }


        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text += "1"; 
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text += "2";
        }

        private void button3_Click(object sender, EventArgs e)
        {
            textBox1.Text += "3";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            textBox1.Text += "4";
        }

        private void button6_Click(object sender, EventArgs e)
        {
            textBox1.Text += "5";
        }

        private void button7_Click(object sender, EventArgs e)
        {
            textBox1.Text += "6";
        }

        private void button9_Click(object sender, EventArgs e)
        {
            textBox1.Text += "7";
        }

        private void button12_Click(object sender, EventArgs e)
        {
            textBox1.Text += "8";
        }

        private void button13_Click(object sender, EventArgs e)
        {
            textBox1.Text += "9";
        }

        private void button16_Click(object sender, EventArgs e)
        {
            textBox1.Text += "0";
        }

        private void button4_Click(object sender, EventArgs e)   /*    /     */
        {
            i = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            x = "/";
        }

        private void button8_Click(object sender, EventArgs e)    /*    *     */
        {
            i = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            x = "*";
        }

        private void button11_Click(object sender, EventArgs e)   /*    1/     */
        {
            textBox1.Text += "1/";
            y = "/";
        }

        private void button14_Click(object sender, EventArgs e)    /*   -    */
        {
            i = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            x = "-";
        }

        private void button18_Click(object sender, EventArgs e)  /*   +   */
        {
            i = Convert.ToDouble(textBox1.Text);
            textBox1.Text = "";
            x = "+";
        }

        private void button17_Click(object sender, EventArgs e)    /*    .     */
        {
            textBox1.Text += ".";
        }

        private void button15_Click(object sender, EventArgs e)     /*    =    */
        {
            
            if(y=="/")
            {
                string h,c;
                h = textBox1.Text;
                h=h.Substring(2, h.Length-2);
                j = Convert.ToDouble(h);
                y = "";
                k = 1 / j;
                textBox1.Text = k.ToString();
            }
            else
            {
                j = Convert.ToDouble(textBox1.Text);
                if (x == "+")
                {
                    k = i + j;
                    textBox1.Text = k.ToString();
                }
                else if (x == "-")
                {
                    k = i - j;
                    textBox1.Text = k.ToString();
                }
                else if (x == "*")
                {
                    k = i * j;
                    textBox1.Text = k.ToString();
                }
                else if (x == "/")
                {
                    if (j != 0)
                    {
                        k = i / j;
                        textBox1.Text = k.ToString();
                    }
                    else
                    {
                        MessageBox.Show("除数不能为零");
                        textBox1.Text = "";
                    }
                }
                else
                {
                    textBox1.Text = i.ToString();
                }
            }
            
        }

        private void button10_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";     /*    C     */
        }
    }
}

我是学了java的,但当时只带过了一下可视化操作,我没记住,书也没带。所以就决定用C#,顺便学习一下新知识,学会操作新软件。下载Visual Studio的时候教程没找好,导致下了两遍。。现在就和已学的语言建立了联系,做的也比较有效率。
唯一一个就是当时用到 Substring(x, y)是时候一直绕圈子,我一直以为x是起始位置,y是结束位置,然后就一直报错:“索引和长度必须引用该字符串内的位置。” 后来发现,y是指要截取的长度。知识点又增加了,实验果然比较直观。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的Java计算器实验设计: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator implements ActionListener { JFrame frame; JTextField textField; JButton[] numberButtons = new JButton[10]; JButton[] functionButtons = new JButton[8]; JButton addButton, subButton, mulButton, divButton; JButton decButton, equButton, delButton, clrButton, negButton; JPanel panel; double num1 = 0, num2 = 0, result = 0; char operator; Calculator() { frame = new JFrame("Calculator"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(420, 550); frame.setLayout(null); textField = new JTextField(); textField.setBounds(50, 25, 300, 50); textField.setFont(new Font("Arial", Font.PLAIN,32)); textField.setEditable(false); addButton = new JButton("+"); subButton = new JButton("-"); mulButton = new JButton("*"); divButton = new JButton("/"); decButton = new JButton("."); equButton = new JButton("="); delButton = new JButton("Delete"); clrButton = new JButton("Clear"); negButton = new JButton("(-)"); functionButtons[0] = addButton; functionButtons[1] = subButton; functionButtons[2] = mulButton; functionButtons[3] = divButton; functionButtons[4] = decButton; functionButtons[5] = equButton; functionButtons[6] = delButton; functionButtons[7] = clrButton; for (int i = 0; i < 8; i++) { functionButtons[i].addActionListener(this); functionButtons[i].setFont(new Font("Arial", Font.PLAIN, 18)); functionButtons[i].setFocusable(false); } for (int i = 0; i < 10; i++) { numberButtons[i] = new JButton(String.valueOf(i)); numberButtons[i].addActionListener(this); numberButtons[i].setFont(new Font("Arial", Font.PLAIN, 18)); numberButtons[i].setFocusable(false); } negButton.setBounds(50, 430, 100, 50); delButton.setBounds(150, 430, 100, 50); clrButton.setBounds(250, 430, 100, 50); panel = new JPanel(); panel.setBounds(50, 100, 300, 300); panel.setLayout(new GridLayout(4, 4, 10, 10)); panel.setBackground(Color.gray); panel.add(numberButtons[1]); panel.add(numberButtons[2]); panel.add(numberButtons[3]); panel.add(addButton); panel.add(numberButtons[4]); panel.add(numberButtons[5]); panel.add(numberButtons[6]); panel.add(subButton); panel.add(numberButtons[7]); panel.add(numberButtons[8]); panel.add(numberButtons[9]); panel.add(mulButton); panel.add(decButton); panel.add(numberButtons[0]); panel.add(equButton); panel.add(divButton); frame.add(panel); frame.add(negButton); frame.add(delButton); frame.add(clrButton); frame.add(textField); frame.setVisible(true); } public static void main(String[] args) { Calculator calculator = new Calculator(); } @Override public void actionPerformed(ActionEvent e) { for (int i = 0; i < 10; i++) { if (e.getSource() == numberButtons[i]) { textField.setText(textField.getText().concat(String.valueOf(i))); } } if (e.getSource() == decButton) { textField.setText(textField.getText().concat(".")); } if (e.getSource() == addButton) { num1 = Double.parseDouble(textField.getText()); operator = '+'; textField.setText(""); } if (e.getSource() == subButton) { num1 = Double.parseDouble(textField.getText()); operator = '-'; textField.setText(""); } if (e.getSource() == mulButton) { num1 = Double.parseDouble(textField.getText()); operator = '*'; textField.setText(""); } if (e.getSource() == divButton) { num1 = Double.parseDouble(textField.getText()); operator = '/'; textField.setText(""); } if (e.getSource() == equButton) { num2 = Double.parseDouble(textField.getText()); switch (operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } textField.setText(String.valueOf(result)); num1 = result; } if (e.getSource() == clrButton) { textField.setText(""); } if (e.getSource() == delButton) { String string = textField.getText(); textField.setText(""); for (int i = 0; i < string.length() - 1; i++) { textField.setText(textField.getText() + string.charAt(i)); } } if (e.getSource() == negButton) { double temp = Double.parseDouble(textField.getText()); temp *= -1; textField.setText(String.valueOf(temp)); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值