已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java程序设计课程实验Java程序设计实验报告题目: _计算器的实现学号:_01110317_姓名: _邢樑波_教师:_李香菊_东南大学成贤学院计算机系2012年5月28日实验题目一、 实验目的1. 掌握图形用户界面程序的设计与实现。练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关的计算。二、 实验内容设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算。设计的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。三、 实验步骤1. 在服务器上下载jdk-6u25-windows-i586.zip安装软件,并按照默认提示进行安装。2. 配置JCreator,将其JDK 修改为新自己安装的jdk6.0。打开菜单“Configure”下的“Options”选项,在对话框中左侧选择“JDK Profiles”,删除右侧原有的jdk信息,然后选择“new”新建,选择自己安装的jdk的目录。3. 利用JCreator编写、编译并运行实验内容,将运行结果截图。四、 实验结果1. 实验内容1的源代码及运行结果截图。2./* * (#)counter.java * * * author * version 1.00 2012/5/28 */import java.awt.*;import java.awt.event.*;public class counter extends Frame public counter(String str) super(str); static Panel pan=new Panel();/创建一个面板对象pan static Label lab=new Label(0.,Label.RIGHT);/创建标签Lab,文字又对其 static Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bp,ba,bs,bm,bd,be,bf,bg,bh,bl; static Frame frm=new Frame(简易计算器(邢樑波01110317); static StringBuffer s1=new StringBuffer();/操作数1 static StringBuffer s2=new StringBuffer();/操作数2 static StringBuffer s3=new StringBuffer();/输出的字符 static StringBuffer s4=new StringBuffer();/输出的字符 static int f=0,x=0; public static void main(String args)throws Exception Font font1=new Font(Serif,3,45);/设置字体 frm.addWindowListener(new MyListenerA(); b0=new Button(0); b0.addActionListener(new MyListener(); b1=new Button(1); b1.addActionListener(new MyListener(); b2=new Button(2); b2.addActionListener(new MyListener(); b3=new Button(3); b3.addActionListener(new MyListener(); b4=new Button(4); b4.addActionListener(new MyListener(); b5=new Button(5); b5.addActionListener(new MyListener(); b6=new Button(6); b6.addActionListener(new MyListener(); b7=new Button(7); b7.addActionListener(new MyListener(); b8=new Button(8); b8.addActionListener(new MyListener(); b9=new Button(9); b9.addActionListener(new MyListener(); bp=new Button(.); bp.addActionListener(new MyListener(); ba=new Button(+); ba.addActionListener(new MyListener(); bf=new Button(1/x); bf.addActionListener(new MyListener(); bg=new Button(C); bg.addActionListener(new MyListener(); bh=new Button(退格); bh.addActionListener(new MyListener(); bl=new Button(%); bl.addActionListener(new MyListener(); bs=new Button(-); bs.addActionListener(new MyListener(); bm=new Button(*); bm.addActionListener(new MyListener(); bd=new Button(/); bd.addActionListener(new MyListener(); be=new Button(=); be.addActionListener(new MyListener(); b1.setBackground(Color.gray); b1.setFont(font1); b2.setBackground(Color.gray); b2.setFont(font1); b3.setBackground(Color.gray); b3.setFont(font1); b4.setBackground(Color.gray); b4.setFont(font1); b5.setBackground(Color.gray); b5.setFont(font1); b6.setBackground(Color.gray); b6.setFont(font1); b7.setBackground(Color.gray); b7.setFont(font1); b8.setBackground(Color.gray); b8.setFont(font1); b9.setBackground(Color.gray); b9.setFont(font1); b0.setBackground(Color.gray); b0.setFont(font1); bp.setBackground(Color.gray); bp.setFont(font1); bs.setBackground(Color.gray); bs.setFont(font1); bm.setBackground(Color.gray); bm.setFont(font1); bd.setBackground(Color.gray); bd.setFont(font1); be.setBackground(Color.gray); be.setFont(font1); ba.setBackground(Color.gray); ba.setFont(font1); bf.setFont(font1); bf.setBackground(Color.gray); bg.setFont(font1); bg.setBackground(Color.gray); bh.setBackground(Color.gray); bl.setBackground(Color.gray); bl.setFont(font1); pan.setBackground(Color.PINK); frm.setLayout(null); frm.setSize(400,400); frm.setResizable(false); frm.setBackground(Color.gray); GridLayout gird=new GridLayout(4,5,5,5);/创建4行4列 pan.setLayout(gird); pan.setBounds(40,120,300,240); lab.setBounds(40,30,300,80); lab.setBackground(Color.PINK); lab.setFont(font1); pan.add(b7); pan.add(b8); pan.add(b9); pan.add(bd); pan.add(bf); pan.add(b4); pan.add(b5); pan.add(b6); pan.add(bm); pan.add(bg); pan.add(b1); pan.add(b2); pan.add(b3); pan.add(bs); pan.add(bh); pan.add(b0); pan.add(bl); pan.add(bp); pan.add(ba); pan.add(be); frm.add(lab); frm.add(pan); frm.setVisible(true); static class MyListener implements ActionListener public void actionPerformed(ActionEvent e)throws NumberFormatException if(e.getSource()=b0) s3.append(0);/连接字符串 lab.setText(s3.toString();/转化为字符串输出 if(f=0) s1.append(0);/追加字符 else s2.append(0); else if(e.getSource()=b1) s3.append(1); lab.setText(s3.toString(); if(f=0) s1.append(1); else s2.append(1); else if(e.getSource()=b2) s3.append(2); lab.setText(s3.toString(); if(f=0) s1.append(2); else s2.append(2); else if(e.getSource()=b3) s3.append(3); lab.setText(s3.toString(); if(f=0) s1.append(3); else s2.append(3); else if(e.getSource()=b4) s3.append(4); lab.setText(s3.toString(); if(f=0) s1.append(4); else s2.append(4); else if(e.getSource()=b5) s3.append(5); lab.setText(s3.toString(); if(f=0) s1.append(5); else s2.append(5); else if(e.getSource()=b6) s3.append(6); lab.setText(s3.toString(); if(f=0) s1.append(6); else s2.append(6); else if(e.getSource()=b7) s3.append(7); lab.setText(s3.toString(); if(f=0) s1.append(7); else s2.append(7); else if(e.getSource()=b8) s3.append(8); lab.setText(s3.toString(); if(f=0) s1.append(8); else s2.append(8); else if(e.getSource()=b9) s3.append(9); lab.setText(s3.toString(); if(f=0) s1.append(9); else s2.append(9); else if(e.getSource()=bp) s3.append(.); lab.setText(s3.toString(); if(f=0) s1.append(.); else s2.append(.); else if(e.getSource()=ba) s3.append(+); lab.setText(s3.toString(); f=1; x=1; else if(e.getSource()=bs) s3.append(-); lab.setText(s3.toString(); f=1; x=2; else if(e.getSource()=bm) s3.append(*); lab.setText(s3.toString(); f=1; x=3; else if(e.getSource()=bd) s3.append(/); lab.setText(s3.toString(); f=1; x=4; else if(e.getSource()=bh) if(f=0) s1.deleteCharAt(s1.length()-1); else s2.deleteCharAt(s2.length()-1); s3.deleteCharAt(s3.length()-1);/将字符串最后一个字符去掉 lab.setText(s3.toString(); else if(e.getSource()=bf) Double r=Double.parseDouble(s1.toString(); Double c=1/r; Double k =(double)(Math.round(c*100000)/10)/10000; String str = String.valueOf(k); s4.append(str);/将整形转化为字符串输出 lab.setText(s4.toString(); else if(e.getSource()=bl) s3.append(%); lab.setText(s3.toString(); f=1; x=5; else if(e.getSource()=bg) f=0; x=0; s3.delete(0,s3.length();/清空字符串 s1.delete(0,s1.length(); s2.delete(0,s2.length(); lab.setText(s3.toString(); else if(e.getSource()=be) if(lab.getText().trim().indexOf(.)!=-1|lab.getText().trim().indexOf(/)!=-1|lab.getText().trim().indexOf(%)!=-1)/处理小数点,判断字符号存在补 s3.append(=); Double a=Double.parseDouble(s1.toString();/先将s1转换为字符串,在将字符串转化为DOUBLE Double b=Double.parseDouble(s2.toString(); Double c=0.0; switch(x) case 1: c=a+b; break; case 2: c=a-b; break; case 3: c=a*b; break; case 4:c=a/b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绿色建筑材料生产线可行性研究报告
- 2025年智能化农田管理系统开发项目可行性研究报告
- 2025年老龄化社会照护服务体系建设项目可行性研究报告
- 2025年共享经济模式下的新型饮品零售可行性研究报告
- 2025年校园智能监控系统建设项目可行性研究报告
- 餐厅股权转让合同范本
- 拳馆合作协议合同范本
- 个人开公司合同范本
- 杉木易购销合同范本
- 与人合伙的合同范本
- 海上风电场的保险创新
- MAM6090空压 机微电脑控制器说明书
- 精神病监护权责书
- 凌云公司简介
- 新生儿静脉治疗护理课件
- 施工现场临水临电标准化图册图文并茂
- 东西协作 新华出版社出版
- 蒂森克虏伯扶梯电气原理图
- 全国物业管理示范住宅小区大厦工业区标准及评分细则全套
- 群众文化副高答辩问题及答案
- SB/T 10468.2-2012轮胎理赔技术规范
评论
0/150
提交评论