小yu的第一篇博客

  想学Java,同班同学已经上了一段时间的课程,刚开始有点跟不上脚步。

  今天根据书上,写了个简易的计算器的代码,并且输出为exe文件。

  简易计算器代码

package play;


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

public class JSJ {
    public static void main(String[] args) {
        WindowOperation win = new WindowOperation();
        win.setBounds(100,100,390,360);
        win.setTitle("简单计算器");
    }
}





 class WindowOperation extends JFrame{
    JTextField inputNumberOne,inputNumberTwo;
    JComboBox choiceFuhao;
    JTextArea textShow;
    JButton button;
    OperatorListener operator;
    ComputerListener computer;
    public WindowOperation(){
        init();
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    void  init() {
        setLayout(new FlowLayout());
        inputNumberOne = new JTextField(5);
        inputNumberTwo = new JTextField(5);
        choiceFuhao = new JComboBox();
        button = new JButton("计算");
        choiceFuhao.addItem("选择运算符号:");
        String[] a = {"+", "-", "*", "/"};
        for (int i = 0; i < a.length; i++) {
            choiceFuhao.addItem(a[i]);
        }
        textShow = new JTextArea(9, 30);
        operator = new OperatorListener();
        computer = new ComputerListener();
        operator.setJComboBox(choiceFuhao);
        operator.setWorkTogther(computer);
        computer.setJTextFieldOne(inputNumberOne);
        computer.setJTextFieldTwo(inputNumberTwo);
        computer.setJTextArea(textShow);
        choiceFuhao.addItemListener(operator);
        button.addActionListener(computer);
        add(inputNumberOne);
        add(choiceFuhao);
        add(inputNumberTwo);
        add(button);
        add(new JScrollPane(textShow));

    }
}





class OperatorListener implements ItemListener{
    JComboBox choice;
    ComputerListener workTogther;
    public  void setJComboBox(JComboBox box){
        choice = box;

    }
    public void setWorkTogther(ComputerListener computer){

        workTogther = computer;
    }
    public void itemStateChanged(ItemEvent e){
        String fuhao = choice.getSelectedItem().toString();
        workTogther.setFuhao(fuhao);
    }

}






class ComputerListener implements ActionListener {/*这个地方刚开始老是报错,但是又找不到原因,后来发现是 public void actionPerformed(ActionEvent e) 这位置搞错了*/
    JTextField inputNumberOne,inputNumberTwo;
    JTextArea textShow;
    String fuhao;
    public void setJTextFieldOne(JTextField t){
        inputNumberOne = t;
    }
    public void setJTextFieldTwo(JTextField t){
        inputNumberTwo = t;
    }
    public void setJTextArea(JTextArea area){
        textShow = area;
    }
    public void setFuhao(String s){
        fuhao = s ;
    }
    public void actionPerformed(ActionEvent e){
        try{
            double number1 = Double.parseDouble(inputNumberOne.getText());
            double number2 = Double.parseDouble(inputNumberTwo.getText());
            double result = 0;
            if (fuhao.equals("+")) {
                result = number1 + number2;
            }
            else if (fuhao.equals("-")) {
                result = number1 - number2;
            }
            else if (fuhao.equals("*")) {
                result = number1 * number2;
            }
            else if (fuhao.equals("/")) {
                result = number1 / number2;
            }
            textShow.append(number1+" "+fuhao+" "+number2+"="+result+"\n");

        }
        catch (Exception exp){
            textShow.append("\n亲输入数学字符");
        }
    }}

    中间出了点小插曲,一直报错,因为初学又看不懂报错报了个啥。真是生活不易,学习也不易啊。代码敲完后,暂时性的满足了,能出现运行效果:
                   
                   

 

但是贪心的我又不满足了,我想把他做成exe文件,方便运行,不然我觉得光看代码,光看视频没什么意思,自己动动手挺好,还能学点东西,然后我就搜索,找到了这篇文章(6条消息) 关于IntelliJ IDEA如何生成exe程序_一点的博客-CSDN博客_idea生成exehttps://blog.csdn.net/qq_29496057/article/details/53333419

根据文章,做出了个exe文件,然后兴高采烈运行了下,可以运行!可以运行!可以运行!满怀期待发给室友,看能否在他电脑上运行时,当头一棒,直接敲蒙,今天就到这了,明天看能不能给他解决了,睡觉!!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值