Java计算器试验报告_第1页
Java计算器试验报告_第2页
Java计算器试验报告_第3页
Java计算器试验报告_第4页
Java计算器试验报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——Java计算器试验报告

一、目标:

通过Java程序开发实训使学生把握《面向对象程序设计(Java)》课堂讲授的内容,灵活运用到Java程序的开发与设计中。二、要求:

按时参与Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。三、详细内容:

使用《面向对象程序设计(Java)》课程讲授内容,编写一个简单的计算器,要求实现如下功能:1.进行图形界面设计

通过图形界面设计,把握Frame类、Panel类、5种布局管理器、文本框、标签及按钮的使用方法。2.实现计算器的基本功能

包括加减乘除四则运算、清除结果等功能。3.实现计算器的存储计算功能

包括清空、使用清零、退格。和基本运算4.类的属性及所用到的方法布局

布局:

整个界面(Frame)采用BorderLayout布局P1组件添加到Frame的南部

P1采用默认的流式布局添加文本框

P2组件添加到Frame的中部P2采用网格布局四行五列放各种按钮用到的类:mycalKeyAdapterWindowAdapterMyCal类:mycal类的属性:

b[];按钮数组保存各种按键以后放到Panel2中tf;文本匡显示输入及运算结果num1,num2,jieguo运算数

charc,ch;运算符号,ch为输入的运算符号,c保存ch输入的“+-*/〞

Panelp1,p2;//两个组件p1放文本匡p2放按钮P2的布局为网格布局5行4列

mycal类的方法:1.构造方法:

设置标题;设置文本框;

文本框中添加匿名内置类(KeyAdapter)实现键盘

2

的输入和运算;

将各种组件添加到容器,设置各种按键的颜色;添加WindowListenr监听器设置关闭按钮;

2.Main方法:

新建一个mycal类;4.actionPerformed方法:设置按钮的输入和运算,

当按下运算数将其显示在文本匡中假使之前清零则

将零去除

当按下运算符将其保存在c中并将文本匡内容清空当按下等号判断字符c的符号进行相应的运算并将结果显示在文本框中。

当按下清空按钮将文本框清空,当按下退格按钮取文本框中字符串的字串删除一个符号。KeyAdapter类:

KeyAdapter类的属性:mycal类中的属性

KeyAdapter类的方法:keyPressed()方法当键盘按下时,判断键盘的输入当为“+-*/〞时记录下num1及c;

当为〞=〞或“Enter〞时记录下num2并将结果计算出来keyReleased()方法

3

当键盘松开时,

假使是按下“+-*/〞后松开将文本框清空

假使是按下“=〞或“Enter〞后松开将计算结果显示在文本框中WindowAdapter类:

WindowAdapter类的属性:WindowEvente

WindowAdapter类的方法:

windowClosing();设置关闭按钮

、四、源代码

/*

类mycal继承Frame实现了ActionListener接口;

往容器中添加两个组件Panel1,Panel2;Panel中放置文本匡,Panel2中放置各种按键;文本匡中以匿名内置类的方式添加键盘监听器实现键盘的输入及运算;

为Panel2中各种按键添加动作监听器实现按键的输入及运算;

*/

4

importjava.awt.*;importjava.awt.event.*;

classmycalextendsFrameimplementsActionListener{

privateButton[]b;privateTextFieldtf;

privatedoublenum1,num2,jieguo;//运算数privatecharc,ch;//运算符Panelp1,p2;//两个组件publicmycal(){

setTitle(\p1=newPanel();tf=newTextField(25);

tf.addKeyListener(newKeyAdapter(){//添加键盘监听器现键盘的输入及运算

publicvoidkeyPressed(KeyEvente){

charch=e.getKeyChar();if(\{}

if(ch=='='|ch==e.VK_ENTER){

num2=Double.parseDouble(tf.getText());num1=Double.parseDouble(tf.getText());c=ch;switch(c){

case'+':jieguo=num1+num2;break;case'-':jieguo=num1-num2;break;case'*':jieguo=num1*num2;break;case'/':jieguo=num1/num2;break;}}

publicvoidkeyReleased(KeyEvente){

charch=e.getKeyChar();if(\{}

if(ch=='='|e.getKeyCode()==e.VK_ENTER)

tf.setText(null);}

5

{tf.setText(Double.toString(jieguo));

}

}

});

p1.add(tf)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论