Java实现简易计算器
- 格式:doc
- 大小:119.50 KB
- 文档页数:13
Java实训作业题目:Java实现简易计算器
学院:
姓名:
学号:
班级:
20 年月
一、实验目的
通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。
二、实验要求
用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。
三、详细内容
1.界面设计
界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:
图1-1
其中主要代码为:
public mainWindow(){
this.setTitle("计算器");//用户图形界面标题
this.setVisible(true);//用户图形界面可缩小
this.setResizable(false);//用户图形界面不可放大
this.setSize(350,300);//设置用户图形界面的大小
this.setLocation(400,150);//用户图形界面在屏幕中的显示位置
JPanel panel1 = new JPanel();//新建一个画板
JPanel panel2 = new JPanel();
button1 = new JButton("1");
...
reset = new JButton("CE");
Container container = this.getContentPane();
container.add(panel2,BorderLayout.NORTH);
container.add(panel1);
panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列
result.setEnabled(false);
result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小
result.setEditable(false);
result.setHorizontalAlignment(SwingConstants.RIGHT);
panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小
reciprocal.setFont(new Font("Dialog",Font.PLAIN,20));
...
panel1.add(divide);
divide.setFont(new Font("Dialog",Font.PLAIN,20));
panel2.setLayout(new GridLayout());
panel2.add(result);//画板panel2添加运算结果
2.四则运算
较为简单的实现了简单的加、减、乘、除运算,主要代码如下:ActionListener equal1 = new ActionListener(){ //实现四则运算public void actionPerformed(ActionEvent e){
String str = result.getText();
b = DatatypeConverter.parseDouble(str);{
if(flag == "+")
c = a + b;
else if(flag == "-")
c = a - b;
else if(flag == "*")
c = a * b;
else if(flag == "/" || b != 0)
c = a / b;
}
if(flag != "=")
result.setText("" + c);
else
result.setText("零不能做除数!");
a = 0;
b = 0;
c = 0;
flag = "";
}
};
3.其他功能
另外添加了平方根,倒数,平方等功能,主要代码如下:平方根运算的实现:
ActionListener sqrt1= new ActionListener(){
public void actionPerformed(ActionEvent e){
String str = result.getText();
double i = DatatypeConverter.parseDouble(str);
i = Math.sqrt(i);
result.setText("" + i);
}
};
倒数运算的实现:
ActionListener reciprocal1 = new ActionListener(){
public void actionPerformed(ActionEvent e){
String str = result.getText();
double i = DatatypeConverter.parseDouble(str);
i = 1/i;
result.setText("" + i);
}
};
平方运算的实现:
ActionListener square1 = new ActionListener(){
public void actionPerformed(ActionEvent e){
String str = result.getText();
double i = DatatypeConverter.parseDouble(str);
i = i*i;