java-计算器实验报告

  • 格式:doc
  • 大小:178.50 KB
  • 文档页数:17

下载文档原格式

  / 17
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算器实验报告

一、实验目的

1.熟悉java图形用户界面的设计原理和程序结构

2.能设计复核问题要求的图形用户界面程序

3.熟悉java awt和swing的组合

4.掌握常用组建的事件借口

5.会应用awt和swing组件进行应用程序设计

二、实验内容

运用所学的java语言,实现计算器的基础功能,及科学计算器的一些功能。

三、实验设计

按钮。第二类按钮式功能式按钮,例如+、-、*、/、%等按钮。JMenuBar按钮设置了工具条菜单栏,这次总共设置了两个菜单。这两种按钮需要注册监听,需要实现public void actionPerformed(ActionEvent e)函数,通过e.getSource()可以识别注册监听的按钮,并进行相应的操作。

计算器界面如下所示:

菜单栏代码如下:

jmb=new JMenuBar();

jm1=new JMenu("选项(V)");

//助记符,Alt+v

jm1.setMnemonic('v');

jm2=new JMenu("关于(A)");

jm2.setMnemonic('a');

jmi1=new JMenuItem("标准");

//注册监听

jmi1.addActionListener(this);

jmi1.setActionCommand("标准");

jmi2=new JMenuItem("科学");

jmi2.addActionListener(this);

jmi2.setActionCommand("科学");

jmi3=new JMenuItem("关于计算器");

jmi3.addActionListener(this);

jmi3.setActionCommand("about");

窗体设置的代码:

this.setIconImage(new ImageIcon("images/计算器图片.jpg").getImage());

this.setTitle("计算器");

this.setBounds(500, 180,300,300);

this.setVisible(true);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setResizable(false);

时间监听处理函数代码:

//通常在按钮被按下,或双击一个列表项或选中某个菜单时发生@Override

public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub

if(e.getSource()==jb[18])

{

//等于

double result=0;

num2=Double.parseDouble(jtf.getText());

switch(ch)

{

case'+':

result=num1+num2;

break;

case'-':

result=num1-num2;

break;

case'*':

result=num1*num2;

break;

case'/':

if(num2!=0)

result=num1/num2;

else

jtf.setText("0");

break;

case'%':

if(num2!=0)

result=num1%num2;

else

jtf.setText("0");

break;

case'e':

result=num1*Math.pow(10, num2);

break;

}

if(num2!=0)

{

if(result==(int)(result))

jtf.setText((int)(result)+"");

else

jtf.setText(result+"");

}

isdecnum=false;

}

四、实验总结:

通过对计算器窗体的编写我熟悉java图形用户界面的设计原理和程序结构熟悉java awt和swing的组合。学会将书本上的知识运用在实际中,提升了编程能力。

五.代码:

package com.java;

import java.io.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

public class Calculator_1 extends JFrame implements ActionListener{ /**

* @param args

*/

JTextField jtf=null; //文本框

JButton jb[]=null;//按钮

JPanel jp1=null;

JPanel jp2=null;

JMenuBar jmb=null; //菜单条

JMenu jm1=null,jm2=null; //菜单项

JMenuItem jmi1=null,jmi2=null,jmi3=null; //菜单子选项

boolean isdecnum=false; //判断目前是否为小数

char ch; //获得运算符号

double num1=0,num2=0;

public static void main(String[] args) {

// TODO Auto-generated method stub

Calculator_1 cal=new Calculator_1();

}

public Calculator_1()

{

jmb=new JMenuBar();

jm1=new JMenu("选项(V)");