首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

求大神帮帮忙看看这个程序到底什么有关问题

2013-09-05 
求大神帮帮忙看看这个程序到底什么问题package com.jisuanqiimport java.awt.BorderLayoutimport java.a

求大神帮帮忙看看这个程序到底什么问题

package com.jisuanqi;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Jisuanqi implements ActionListener {

// 定义成员变量
private JFrame jf;
private JPanel jp1;
private JPanel jp2;
private JPanel jp3;
private JButton[] jb;
private JTextField jt;

public Jisuanqi() {
jf = new JFrame();
jp1 = new JPanel();
jp2 = new JPanel();
jp3 = new JPanel();
jt = new JTextField(15);
jb = new JButton[17];

jb[0] = new JButton("7");
jb[1] = new JButton("8");
jb[2] = new JButton("9");
jb[3] = new JButton("+");
jb[3].setForeground(Color.red); // 设置按钮上字的颜色

jb[4] = new JButton("4");
jb[5] = new JButton("5");
jb[6] = new JButton("6");
jb[7] = new JButton("-");
jb[7].setForeground(Color.red);

jb[8] = new JButton("1");
jb[9] = new JButton("2");
jb[10] = new JButton("3");
jb[11] = new JButton("*");
jb[11].setForeground(Color.red);

jb[12] = new JButton("0");
jb[13] = new JButton(".");
jb[14] = new JButton("=");
jb[15] = new JButton("/");
jb[15].setForeground(Color.red);
jb[16] = new JButton("C");
jb[16].setForeground(Color.red);

jp2.setLayout(new GridLayout(5, 4));

// 添加组件
for (int i = 0; i < jb.length; i++) {
jp2.add(jb[i]);
jb[i].addActionListener(this);
}
jp1.add(jt);
jp3.add(jp1, BorderLayout.SOUTH);
jp3.add(jp2, BorderLayout.NORTH);

// 设置窗口的属性
jf.add(jp3);
jf.setTitle("计算器");
jf.setLocation(520, 300);
jf.setSize(173, 200);
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setResizable(false);
jf.setVisible(true);

}

public static void main(String[] args) {
Jisuanqi j = new Jisuanqi();
}

@Override
public void actionPerformed(ActionEvent e) {


// TODO Auto-generated method stub
Object obj = e.getSource();
JButton jb = (JButton) (obj);
String s = jb.getText();

double f = 0;

String[] a;
String b;
if (e.getSource() != null) {

if(!e.getSource().equals("=")){
jt.setText(jt.getText() + s);
}else{

if (jt.getText().indexOf("+") > 0) {
a = jt.getText().split("+");
f = Double.parseDouble(a[0]) + Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();

}
if (jt.getText().indexOf("-") > 0) {
a = jt.getText().split("-");
f = Double.parseDouble(a[0]) - Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();

}
if (jt.getText().indexOf("*") > 0) {
a = jt.getText().split("*");
f = Double.parseDouble(a[0]) * Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();

}
if (jt.getText().indexOf("/") > 0) {
try {
a = jt.getText().split("/");
f = Double.parseDouble(a[0])
/ Double.parseDouble(a[1]);
b = "" + f;
jt.setText(b);
jt.getText();

} catch (Exception e2) {
// TODO: handle exception
jt.setText("除数不能为0");
jt.getText();
}
}
if (e.getSource().equals("C")) {
jt.setText(" ");
jt.getText();
}

}


} //else if (e.getSource() != null && e.getSource().equals("=")) {
//if (e.getSource().equals("=")) {
//
//}
//
//} else 
}
}



弄了好半天就是只能在输入框打出你按的按钮的值,老是不能计算,求大神帮看下,谢谢了
[解决办法]
补充一下,


*和/也是需要转义的。。。

热点排行