java 复数_Java编写能完成复数运算的程序

这是一个使用Java编写的GUI程序,能够进行复数的加、减、乘运算。用户通过输入复数的实部和虚部,选择运算符,程序会显示运算结果。
摘要由CSDN通过智能技术生成

packagecomplex;importjava.awt.EventQueue;importjavax.swing.JFrame;importjavax.swing.JPanel;importjava.awt.BorderLayout;importjava.awt.GridLayout;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JLabel;importjavax.swing.JTextField;importjavax.swing.SwingConstants;importjavax.swing.border.EmptyBorder;importjavax.swing.JButton;importjava.awt.Font;public class Complex implementsActionListener {

String s,s1,s2,s3,s4;//s为运算符号,s1,s3为两个虚数的实部,s2,s4为两个虚数的虚部

double a,b,c,d,ans1,ans2; //对应的字符串转化为数值后:a,c为两个虚数的实部,b,d为两个虚数的虚部//ans1,ans2为计算结果

privateJFrame frame;privateJTextField textField_1;privateJTextField textField_2;privateJTextField textField;privateJTextField textField_3;privateJTextField textField_4;privateJTextField textField_5;privateJTextField textField_6;privateJButton button;public static voidmain(String[] args) {

EventQueue.invokeLater(newRunnable() {public voidrun() {try{

Complex window= new Complex(); //插件自动生成对象,并设置可见性为可见

window.frame.setVisible(true);

}catch(Exception e) {

e.printStackTrace();

}

}

});

}/*GUi插件自动生成*/

publicComplex() {

frame= newJFrame();

frame.setBounds(100, 100, 709, 377);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.getContentPane().setLayout(new GridLayout(1, 1, 0, 0));

JPanel panel= newJPanel();

panel.setBorder(new EmptyBorder(20, 20, 20, 20));

frame.getContentPane().add(panel);

panel.setLayout(new GridLayout(4, 5, 20, 20));/*public GridLayout(x,y,hgap,vgap) x,y为表格布局的行和列,hgap和vgap为表格元素间的间距*/JLabel label= new JLabel("\u590D\u65701\uFF1A");

label.setFont(new Font("宋体", Font.BOLD, 19));

label.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label);

textField_1= newJTextField();

textField_1.setFont(new Font("宋体", Font.BOLD, 18));

textField_1.setHorizontalAlignment(SwingConstants.CENTER);

textField_1.setColumns(10);

panel.add(textField_1);

JLabel label_1= new JLabel("+");

label_1.setFont(new Font("宋体", Font.BOLD, 19));

label_1.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_1);

textField_2= newJTextField();

textField_2.setFont(new Font("宋体", Font.BOLD, 18));

textField_2.setHorizontalAlignment(SwingConstants.CENTER);

textField_2.setColumns(10);

panel.add(textField_2);

JLabel label_2= new JLabel("i");

label_2.setFont(new Font("宋体", Font.BOLD, 19));

label_2.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_2);

JLabel label_3= new JLabel("\u8FD0\u7B97\u7B26");

label_3.setFont(new Font("宋体", Font.BOLD, 19));

label_3.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_3);

JLabel label_4= new JLabel("");

label_4.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_4);

textField= newJTextField();

textField.setFont(new Font("宋体", Font.BOLD, 19));

textField.setHorizontalAlignment(SwingConstants.CENTER);

textField.setColumns(10);

panel.add(textField);/** TextArea与TextField的最基本区别

* TextArea可以输入多行文本,

* TextField只能输入单行文本。*/JLabel label_5= new JLabel("");

label_5.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_5);

JLabel label_6= new JLabel("");

panel.add(label_6);

JLabel label_7= new JLabel("\u590D\u65702\r\n");

label_7.setFont(new Font("宋体", Font.BOLD, 19));

label_7.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_7);

textField_3= newJTextField();

textField_3.setFont(new Font("宋体", Font.BOLD, 18));

textField_3.setHorizontalAlignment(SwingConstants.CENTER);

textField_3.setColumns(10);

panel.add(textField_3);

JLabel label_8= new JLabel("+");

label_8.setFont(new Font("宋体", Font.BOLD, 19));

label_8.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_8);

textField_4= newJTextField();

textField_4.setFont(new Font("宋体", Font.BOLD, 18));

textField_4.setHorizontalAlignment(SwingConstants.CENTER);

textField_4.setColumns(10);

panel.add(textField_4);

JLabel label_9= new JLabel("i");

label_9.setFont(new Font("宋体", Font.BOLD, 18));

label_9.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_9);

button= new JButton("=");

button.setFont(new Font("宋体", Font.BOLD, 20));

panel.add(button);

button.addActionListener(this);

textField_5= newJTextField();

textField_5.setFont(new Font("宋体", Font.BOLD, 18));

textField_5.setHorizontalAlignment(SwingConstants.CENTER);

textField_5.setColumns(10);

panel.add(textField_5);

JLabel label_11= new JLabel("+");

label_11.setFont(new Font("宋体", Font.BOLD, 19));

label_11.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_11);

textField_6= newJTextField();

textField_6.setFont(new Font("宋体", Font.BOLD, 18));

textField_6.setHorizontalAlignment(SwingConstants.CENTER);

textField_6.setColumns(10);

panel.add(textField_6);

JLabel label_12= new JLabel("i");

label_12.setFont(new Font("宋体", Font.BOLD, 19));

label_12.setHorizontalAlignment(SwingConstants.CENTER);

panel.add(label_12);

}/*点击按钮事件*/

public voidactionPerformed(ActionEvent e) {//得到输入框的内容

s1 =textField_1.getText();

s2=textField_2.getText();

s3=textField_3.getText();

s4=textField_4.getText();

s=textField.getText();//字符串转化为数值

a =Double.parseDouble(s1);

b=Double.parseDouble(s2);

c=Double.parseDouble(s3);

d=Double.parseDouble(s4);//选择运算类型:加,减,乘

switch(s) {case "+":

ans1= a +b;

ans2= c +d;break;case "-":

ans1= a -b;

ans2= c -d;break;case "*":

ans1= a*c - b*d;

ans2= a*d + b*c;break;

}//设置文本框内容

textField_5.setText(ans1+"");

textField_6.setText(ans2+"");

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值