- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Java计算器实验报告
一、目标:
通过Java程序开发实训使学生掌握《面向对象程序设计(Java)面向对象程序设计(Java)P1组件添加到Frame的南部
P1采用默认的流式布局添加文本框
P2组件添加到Frame的中部
P2采用网格布局四行五列放各种按钮
用到的类:
mycal
KeyAdapter
WindowAdapter
MyCal类:
mycal类的属性:
b[];按钮数组保存各种按键 以后放到Panel2中
tf;文本匡显示输入及运算结果
num1,num2,jieguo运算数
char c,ch;运算符号,ch为输入的运算符号,c保存ch输入的“+-*/”
Panel p1,p2;//两个组件p1放文本匡p2放按钮
P2的布局为网格布局5行4列
mycal类的方法:
构造方法:
设置标题;
设置文本框;
文本框中添加匿名内置类(KeyAdapter)实现键盘的输入和运算;
将各种组件添加到容器,设置各种按键的颜色 ;
添加WindowListenr监听器设置关闭按钮;
2.Main方法:
新建一个mycal类;
actionPerformed 方法:
设置按钮的输入和运算,
当按下运算数将其显示在文本匡中如果之前清零则将零去除
当按下运算符将其保存在c中并将文本匡内容清空
当按下等号判断字符c的符号进行相应的运算并将结果显示在文本框中。
当按下清空按钮将文本框清空,当按下退格按钮取文本框中字符串的字串删除一个符号。
KeyAdapter类:
KeyAdapter类的属性:mycal类中的属性
KeyAdapter类的方法:
keyPressed()方法
当键盘按下时, 判断键盘的输入
当为“+-*/”时记录下num1及c;
当为”=”或“Enter”时记录下num2并将结果计算出来
keyReleased()方法
当键盘松开时,
如果是按下“+-*/”后松开
将文本框清空
如果是按下“=”或“Enter”后松开
将计算结果显示在文本框中
WindowAdapter类:
WindowAdapter类的属性:
WindowEvent e
WindowAdapter类的方法:
windowClosing();
设置关闭按钮
、四、源代码
/*
类mycal继承Frame实现了ActionListener接口;
往容器中添加两个组件Panel1,Panel2;
Panel中放置文本匡,Panel2中放置各种按键;
文本匡中以匿名内置类的方式添加键盘监听器实现键盘的输入及运算;
为Panel2中各种按键添加动作监听器实现按键的输入及运算;
*/
import java.awt.*;
import java.awt.event.*;
class mycal extends Frame implements ActionListener
{
private Button[] b;
private TextField tf;
private double num1,num2,jieguo;//运算数
private char c,ch;//运算符
Panel p1,p2;//两个组件
public mycal()
{
setTitle(My Calculator 1.0);
p1=new Panel();
tf=new TextField(25);
tf.addKeyListener(new KeyAdapter(){ //添加键盘监听器现键盘的输入及运算
public void keyPressed(KeyEvent e)
{
char ch=e.getKeyChar();
if(+-*/.indexOf(ch)!=-1)
{
num1=Double.parseDouble(tf.getText());
c=ch;
}
if(ch===|ch==e.VK_ENTER)
{
num2=Double.parseDouble(tf.getText());
switch(c)
{
case +: jieguo=num1+num2; break;
文档评论(0)