用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);
}
}
此程序还有好多不足,仅供学习参考
大家可以再补充一下,欢迎指教
//第二个文本框中显示结果,
//在程序中用了异常处理,小的错误都能处理
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);
}
}
此程序还有好多不足,仅供学习参考
大家可以再补充一下,欢迎指教
相关文章推荐
- java 编写的计算器
- Java实现带括号优先级的计算器
- JAVA 一个简单的图形界面计算器
- 自己写的Java版计算器
- JaVA AWT 一个很好的计算器
- java浮点数运算在计算器上的应用
- 暴力的java版微型计算器
- Java实现栈之计算器
- java计算器
- JAVA----计算器
- java语义计算器(一)混合四则运算
- java代码---------计算器实现
- 计算器的实现-Java 代码
- Java 复杂计算器的实现
- 计算器 java
- Java版大话设计模式(二)---计算器商场促销---策略模式
- java 写一个简单的计算器
- JAVA作业 简单的计算器
- Java弱智计算器
- 计算器小程序-Java原创