java计算器综合实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

华北科技学院计算机学院综合性实验实验报告课程名称JAVA程序设计实验学期2012至2013学年第1学期学生所在系部计算机学院任课教师白磊实验成绩计算机学院制华北科技学院计算机系综合性实验报告第1页《JAVA程序设计》课程综合性实验报告开课实验室:基础四2012年12月09日实验题目简单计算器设计一、实验目的通过编写Java的应用系统综合实例——简单计算器软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。熟悉在集成开发环境下编写Java程序。二、设备与环境Eclipse、JDK开发包、集成开发环境三、实验内容及代码首先设计的是程序的结构。程序中主要是一计算器公共类(implementsActionListener),包括构造函数(用于计算器的外观设置,布局)。在设计一个界面时先设计Frame容器,在north添加一个TextField,center添加一个Panel容器。再在Panel容器中添加两个panel容器,第一个panel中添加“CE”(西端)、“backspace”(中间)、“C”(东端)三个按钮。第二个panel容器中GridLaout把容器分成四行五列,添加1,2,3,4,5,6,7,8,9,0,+,-,*,/,%,+\-,1/x,sqrt,=,这些按钮。定义各个按钮逐个添加给ActionListener监听器进行注册。界面构造号后接着定义算法。定义加减乘除,倒数,开方等这些基本运算包含于actionPerformed方法(用于事件的响应),一个publicstaticvoidmain(Stringarg[])程序运行入口。在main中创建一个计算器类对象,在创建对象的同时,初始化各组件,创建图形用户界面。代码:importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;华北科技学院计算机系综合性实验报告第2页publicclass计算器implementsActionListener{privatebooleanjudge=true;privatebooleanflag=false;privateStringfh=;privateStringnum1=;privateStringnum2=;JFramef=null;JTextFieldtf;JButtonb;publicvoidjiemian(){f=newJFrame(计算器);Containerc=f.getContentPane();tf=newJTextField();tf.setHorizontalAlignment(JTextField.RIGHT);c.add(tf,North);JPanelpn3=newJPanel(newBorderLayout());c.add(pn3,Center);JPanelpn2=newJPanel();pn2.setLayout(newBorderLayout());JPanelpn1=newJPanel();pn1.setLayout(newGridLayout(4,5));华北科技学院计算机系综合性实验报告第3页pn3.add(pn2,North);pn3.add(pn1);b=newJButton(CE);b.setForeground(Color.BLUE);b.addActionListener(this);pn2.add(b,East);b=newJButton(C);b.setForeground(Color.BLUE);pn2.add(b,West);b=newJButton(backspace);b.setForeground(Color.BLUE);b.addActionListener(this);pn2.add(b,Center);b=newJButton(1);b.addActionListener(this);pn1.add(b);b=newJButton(2);b.addActionListener(this);pn1.add(b);b=newJButton(3);b.addActionListener(this);pn1.add(b);b=newJButton(+);华北科技学院计算机系综合性实验报告第4页b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(sqrt);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(4);b.addActionListener(this);pn1.add(b);b=newJButton(5);b.addActionListener(this);pn1.add(b);b=newJButton(6);b.addActionListener(this);pn1.add(b);b=newJButton(-);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(%);b.setForeground(Color.BLUE);b.addActionListener(this);华北科技学院计算机系综合性实验报告第5页pn1.add(b);b=newJButton(7);b.addActionListener(this);pn1.add(b);b=newJButton(8);b.addActionListener(this);pn1.add(b);b=newJButton(9);b.addActionListener(this);pn1.add(b);b=newJButton(*);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(1/x);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(0);b.addActionListener(this);pn1.add(b);华北科技学院计算机系综合性实验报告第6页b=newJButton(.);b.addActionListener(this);pn1.add(b);b=newJButton(+/-);b.setForeground(Color.RED);b.addActionListener(this);pn1.add(b);b=newJButton(/);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);b=newJButton(=);b.setForeground(Color.BLUE);b.addActionListener(this);pn1.add(b);f.setSize(325,325);f.setVisible(true);}publicvoidactionPerformed(ActionEvente){Stringtemp=e.getActionCommand();if(!(0123456789..indexOf(temp)==-1)){华北科技学院计算机系综合性实验报告第7页if(flag){Strings=tf.getText();tf.setText(s+temp);}else{tf.setText(temp);flag=true;}}elseif(!(+-*/.indexOf(temp)==-1)){if(judge){num1=tf.getText();flag=false;judge=false;tf.setText();}else{flag=false;华北科技学院计算机系综合性实验报告第8页num2=tf.getText();if(!num1.equals()&&!num2.equals()){doublei1=Double.parseDouble(num1);doublei2=Double.parseDouble(num2);if(+.equals(fh)){tf.setText(Double.toString(i1+i2));flag=false;}elseif(-.equals(fh)){tf.setText(Double.toString(i1-i2));flag=false;}elseif(*.equals(fh)){tf.setText(Double.toString(i1*i2));flag=false;}elseif(/.equals(fh)){tf.setText(Double.toString(i1/i2));华北科技学院计算机系综合性实验报告第9页flag=false;}}num1=tf.getText();num2=();}fh=temp;}elseif(=.equals(temp)){num2=tf.getText();if(!num1.equals()&&!num2.equals()){doublei1=Double.parseDouble(num1);doublei2=Double.parseDouble(num2);if(+.equals(fh)){tf.setText(Double.toString(i1+i2));flag=false;}elseif(*.equals(fh)){tf.setText(Double.toString(i1*i2));flag=false;华北科技学院计算机系综合性实验报告第10页}elseif(-.equals(fh)){tf.setText(Double.toString(i1-i2));flag=false;}elseif(/.equals(fh)){tf.setText(Double.toString(i1/i2));flag=false;}}num2=tf.getText();num1=();}elseif(+/-.equals(temp)){Strings=tf.getText();if(!s.startsWith(-))tf.setText(-+s);elsetf.setText(s.substring(1));flag=false;}华北科技学院计算机系综合性实验报告第11页elseif(sqrt.equals(temp)){Strings=tf.getText();if(!s.startsWith(-))tf.setText(Double.toString(Math.sqrt(Double.parseDouble(tf.getText()))));elsetf.setText(Error);flag=false;}elseif(1/x.equals(temp)){Strings=tf.getText();doubled=Double.parseDouble(s);doubled1=1/d;tf.setText(Double.toString(d1));flag=false;}elseif(%.equals(temp)){Strings=tf.getText();doubled=Double.parseDouble(s);doubled1=d*100;tf.setText(Double.toString(d1)+%);华北科技学院计算机系综合性实验报告第12页flag=false;}elseif(CE.equals(temp)){tf.setText();num2=;flag=false;

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功