ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:81.77KB ,
资源ID:6705126      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6705126.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java计算器实验报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java计算器实验报告.docx

1、Java计算器实验报告一、目标:通过Java程序开发实训使学生掌握面向对象程序设计(Java)课堂讲授的内容,灵活运用到Java程序的开发与设计中。二、要求:按时参加Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。三、详细内容:使用面向对象程序设计(Java)课程讲授内容,编写一个简单的计算器,要求实现如下功能:1. 进行图形界面设计 通过图形界面设计,掌握Frame类、Panel类、5种布局管理器、文本框、标签及按钮的使用方法。2. 实现计算器的基本功能包括加减乘除四则运算、清除结果等功能。3. 实现计算器的存储计算功能包括清空、使用清零、退格。和基本运算4类

2、的属性及所用到的方法布局布局: 整个界面(Frame)采用BorderLayout布局 P1组件添加到Frame的南部 P1采用默认的流式布局添加文本框P2组件添加到Frame的中部P2采用网格布局四行五列放各种按钮用到的类: mycal KeyAdapter WindowAdapterMyCal类:mycal类的属性:b;按钮数组保存各种按键 以后放到Panel2中tf;文本匡显示输入及运算结果num1,num2,jieguo运算数char c,ch;运算符号,ch为输入的运算符号,c保存ch输入的“+-*/”Panel p1,p2;/两个组件p1放文本匡p2放按钮P2的布局为网格布局5行4

3、列 mycal类的方法:1 构造方法:设置标题;设置文本框;文本框中添加匿名内置类(KeyAdapter)实现键盘的输入和运算;将各种组件添加到容器,设置各种按键的颜色 ;添加WindowListenr监听器设置关闭按钮; 2Main方法: 新建一个mycal类;4. actionPerformed 方法: 设置按钮的输入和运算,当按下运算数将其显示在文本匡中如果之前清零则将零去除当按下运算符将其保存在c中并将文本匡内容清空当按下等号判断字符c的符号进行相应的运算并将结果显示在文本框中。当按下清空按钮将文本框清空,当按下退格按钮取文本框中字符串的字串删除一个符号。KeyAdapter类:Key

4、Adapter类的属性:mycal类中的属性KeyAdapter类的方法: keyPressed()方法 当键盘按下时, 判断键盘的输入当为“+-*/”时记录下num1及c;当为”=”或“Enter”时记录下num2并将结果计算出来keyReleased()方法当键盘松开时,如果是按下“+-*/”后松开将文本框清空如果是按下“=”或“Enter”后松开将计算结果显示在文本框中WindowAdapter类:WindowAdapter类的属性:WindowEvent eWindowAdapter类的方法:windowClosing();设置关闭按钮、四、源代码 /*类mycal继承Frame实现了

5、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;/运算数

6、 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

7、=ch; if(ch=|ch=e.VK_ENTER) num2=Double.parseDouble(tf.getText(); switch(c) case +: jieguo=num1+num2; break; case -: jieguo=num1-num2; break; case *: jieguo=num1*num2; break; case /: jieguo=num1/num2; break; public void keyReleased(KeyEvent e) char ch=e.getKeyChar(); if(+-*/.indexOf(ch)!=-1) tf.setTe

8、xt(null); if(ch=|e.getKeyCode()=e.VK_ENTER) tf.setText(Double.toString(jieguo); ); p1.add(tf); add(p1,North); p2=new Panel(); p2.setLayout(new GridLayout(5,4,10,8); b=new Button21; for(int i=1;i21;i+) bi=new Button(); bi.setFont(new Font(仿宋,0,16); String str1=/789*456-123+0; b1.setLabel(退格); b2.setL

9、abel(清空); b3.setLabel(清零); for(int i=4;i=17;i+) bi.setLabel(str1.charAt(i-4)+); b18.setLabel(+/-); b19.setLabel(.); b20.setLabel(=); for(int i=1;i21;i+) p2.add(bi); bi.addActionListener(this); bi.setBackground(new Color(20,130,180); bi.setForeground(Color.yellow); for(int i=1;i4;i+) bi.setBackground

10、(new Color(120,180,170); bi.setForeground(Color.blue); for(int i=1;i=4;i+) bi*4.setBackground(new Color(120,180,170); bi*4.setForeground(Color.red); b20.setBackground(Color.red); add(p2); /Dimension di=this.getPreferredSize(); /System.out.println(di.width+,+di.height); setBounds(100,200,230,300); se

11、tVisible(true); addWindowListener(new WindowAdapter()/设置关闭按钮 public void windowClosing(WindowEvent e) e.getWindow().setVisible(false); e.getWindow().dispose(); System.exit(0); ); public static void main(String args) new mycal(); public void actionPerformed(ActionEvent e)/ 为Panel2中各种按键添加动作监听器实现按键的输入及

12、运算; String str=e.getActionCommand().trim(); if(0123456789.indexOf(str)!=-1) if(tf.getText().equals(0)tf.setText(null); tf.setText(tf.getText()+str); return; if(+-*/.indexOf(str)!=-1) num1=Double.parseDouble(tf.getText(); c=str.charAt(0); tf.setText(null); return; else if(str.equals(=) num2=Double.pa

13、rseDouble(tf.getText(); switch(c) case +: jieguo=num1+num2; break; case -: jieguo=num1-num2; break; case *: jieguo=num1*num2; break; case /: jieguo=num1/num2; break; tf.setText(Double.toString(jieguo); else if(str.equals(+/-) if(tf.getText().isEmpty()=false) Double lnum=-(Double.parseDouble(tf.getTe

14、xt(); tf.setText(Double.toString(lnum); else tf.setText(-); else if(str.equals(清空) tf.setText(null); else if(str.equals(清零) tf.setText(0); else if(str.equals(退格) tf.setText(tf.getText().substring(0,tf.getText().length()-1); 五、程序运行结果演示计算器界面7+8清空9*47*8退格清零六、总结通过本次实验让我对Frame类、Panel类、5种布局管理器、文本框、标签及按钮的使用方法,有了进一步的了解。同时在实验过程中也发现了自己的许多不足,但通过查询对其有有了更深刻大大大的了解.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1