您的位置:首页 > 编程语言 > Java开发

用java写的计算器

2005-09-23 22:50 337 查看
//这个可以直接在第一个文本框中输入一个表达式,像“123.123 + 456.456"这样,点“OK”,可直接在
//第二个文本框中显示结果,
//在程序中用了异常处理,小的错误都能处理
import java.awt.*;
import java.lang.Float;
import java.awt.event.*;
public class Try1 implements ActionListener
{
Frame f;
TextField tf1,tf2,tf4;
Button b2,b3;
Label lc;
public void print()
{
f=new Frame("Caoxin");
f.setSize(500,150);
f.setLocation(320,240);
f.setBackground(Color.LIGHT_GRAY);
f.setLayout(new FlowLayout(FlowLayout.LEFT));
tf1=new TextField(30);
tf1.setEditable(true);
f.add(tf1);
lc=new Label("=");
f.add(lc);
b3=new Button("OK!");
f.add(b3);
tf2=new TextField(20);
f.add(tf2);
b2=new Button("CE");
f.add(b2);
tf4=new TextField(30);
tf4.setEditable(false);
f.add(tf4);
b3.addActionListener(this);
b2.addActionListener(this);
f.addWindowListener(new Close());
f.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{

if(e.getSource()==b3)
{
try{
String a=tf1.getText();
int i,j;
if(a.indexOf("*")!=-1)
{
i=a.indexOf("*");
float a1=Float.parseFloat(a.substring(0,i));
float a2=Float.parseFloat(a.substring(i+1));
String d;
d=Float.toString(a1*a2);
tf2.setText(d);
}
if(a.indexOf("/")!=-1)
{
i=a.indexOf("/");
float a1=Float.parseFloat(a.substring(0,i));
float a2=Float.parseFloat(a.substring(i+1));
String d;
d=Float.toString(a1/a2);
tf2.setText(d);
if(a2==0)
tf2.setText("除数不能为零!");
}
if(a.indexOf("-")!=-1)
{
i=a.indexOf("-");
float a1=Float.parseFloat(a.substring(0,i));
float a2=Float.parseFloat(a.substring(i+1));
String d;
d=Float.toString(a1-a2);
tf2.setText(d);
}
if(a.indexOf("+")!=-1)
{
i=a.indexOf("+");
float a1=Float.parseFloat(a.substring(0,i));
float a2=Float.parseFloat(a.substring(i+1));
String d;
d=Float.toString(a1+a2);
tf2.setText(d);
}
else
{
tf4.setText("输入错误,可能不含运算符!");
}
}
catch(Exception f)
{
tf4.setText("输入错误");
}
}
else
{
tf1.setText("");
tf2.setText("");
tf4.setText("请重新输入数据!");
}
}
public static void main(String arg[])
{
(new Try1()).print();
}
}
class Close extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
此程序还有好多不足,仅供学习参考
大家可以再补充一下,欢迎指教
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: