当前位置:文档之家› 用JAVA编写的计算器程序的设计报告

用JAVA编写的计算器程序的设计报告

用JAVA编写的计算器程序的设计报告
用JAVA编写的计算器程序的设计报告

目录

目录 (1)

1 需求分析 (1)

1.1 计算器的基本功能: (1)

1.1.1 加法运算:用数字按钮和“+”按钮进行运算; (1)

1.1.2 减法运算:用数字按钮和“-”按钮进行运算; (1)

1.1.3 乘法运算:用数字按钮和“*”按钮进行运算; (1)

1.1.4 除法运算:用数字按钮和“/”按钮进行运算; (1)

1.2 退格键和清零键: 用”Backspace”和”C”按钮实现; (1)

1.3 计算器的科学计算方法: (1)

1.3.1 开方:用数字按钮和“Sqrt”按钮进行运算; (1)

1.3.2 百分比:用数字按钮和“%”按钮进行运算; (1)

1.3.3 求倒数:用数字按钮和“1/x”按钮进行运算; (1)

2 设计 (2)

2.1 用户界面设计 (2)

2.1.1 该计算器程序的设计:用户界面包括Swing组件,不过程序中大都使用的

是AWT组件. import java.awt.*; (2)

2.1.2 在AWT组件, (2)

2.1.3 这个界面设计中包含了两个接口,单击事件监听器接ActionListener口

和键盘事件监听器接口(KeyListener). (4)

2.1.4 程序设计中,使用了布局管理: (4)

2.2 概要设计 (4)

2.2.1 Calculator类中的类名是Calculator.它的功能是使用图形用户来实现

计算器的界面设计和运算功能以及一些科学运算方法. (4)

2.2.2 main主类.中调用了cal.display来实现计算器的功能 . (4)

3 实现 (4)

4 测试 (16)

4.1 实现加法运算:4+12=16 (17)

4.2 实现减法运算:22-11=11 (17)

4.3 实现乘法运算:3*9=27 (18)

4.4 实现除法运算:64/32=2 (18)

4.5 用”C’实现清零功能: (19)

4.6 用”Backspace”实现退格功能: (20)

4.7 求倒数:1/4=0.25 (20)

5 总结和体会............................................... 错误!未定义书签。

1需求分析

(该部分主要阐述所要实现的程序具体具有什么样的功能,要细化,可以用图表作为辅助描述手段)

该计算器程序除了具备加减乘除基本功能外,还有清零键C和退格键Backspace,和一些部分的科学计算方法,包括开方、求倒、百分比,程序里面也写了键盘事件监听器接口,不过由于时间仓促,还没能设计出来,所以该计算器不能实现此功能。

1.1计算器的基本功能:

1.1.1加法运算:用数字按钮和“+”按钮进行运算;

1.1.2减法运算:用数字按钮和“-”按钮进行运算;

1.1.3乘法运算:用数字按钮和“*”按钮进行运算;

1.1.4除法运算:用数字按钮和“/”按钮进行运算;

1.2退格键和清零键: 用”Backspace”和”C”按钮实现;

1.3计算器的科学计算方法:

1.3.1开方:用数字按钮和“Sqrt”按钮进行运算;

1.3.2百分比:用数字按钮和“%”按钮进行运算;

1.3.3求倒数:用数字按钮和“1/x”按钮进行运算;

2设计

(该部分主要要说明,在使用Java实现该程序前考虑的容,主要包括下面两部分:用户界面设计和概要设计(这部分可简单看作是类设计))。

2.1用户界面设计

(用图或文字阐述你的界面如何设计,如:包括哪些部分,使用什么样的布局管理器等)

2.1.1该计算器程序的设计:用户界面包括Swing组件,不过程序中大都使用的

是AWT组件. import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

2.1.2在AWT组件,

(1)使用了面板和按钮:

Panel p1,p2,p3,p4,p5,p6;

Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;

Button

bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative;

Button bBackspace,bCE,bC,bMR,bMS,bMC,bM;

(2)界面设计也包括了AWT的委托事件模型,该程序设计在java.awt.event包中定义

了窗口事件类

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

单击事件类.

public void actionPerformed(ActionEvent e)

{

//key 0 to 9

if(this.keyAvailable && e.getActionCommand().length()==1 &&

e.getActionCommand().compareTo("0")>=0 &&

e.getActionCommand().compareTo("9")<=0)

{

if(this.isTempNowInput)

{

this.dNowInput=0;

this.isTempNowInput=false;

}

this.nBitsNum++;

if(this.alreadyHaveDot==false)

this.dNowInput=this.dNowInput*10+Double.parseDouble(e.getActionCommand()); else

{

double temp=Double.parseDouble(e.getActionCommand());

for(int i=this.n;i<0;i++)

{

temp*=0.1;

}

this.dNowInput+=temp;

this.n--;

}

this.tf1.setText(Double.toString(this.dNowInput));

}

在程序中也注册了事件监听器,里面包含了事件处理方法.

/*add(b1);

add(b2);

add(b3);

add(b4);

add(b5);

add(b6);

add(b7);

add(b8);

add(b9);

add(b0);*/

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

b0.addActionListener(this);

2.1.3这个界面设计中包含了两个接口,单击事件监听器接ActionListener口

和键盘事件监听器接口(KeyListener).

public class Calculator extends WindowAdapter implements ActionListener, KeyListener

2.1.4程序设计中,使用了布局管理:

(1)用流布局管理器(FlowLayout)设置面板

p4=new Panel(new FlowLayout());

p5=new Panel(new FlowLayout());

p6=new Panel(new FlowLayout());

(2)用边布局管理器(BorderLayout)设置计算器容器北西组件的大小:

f.setLayout(new BorderLayout(4,4));

f.add(p5,BorderLayout.NORTH);

`f.add(p4,BorderLayout.CENTER);

f.add(p3,BorderLayout.WEST);

(3)用网格布局管理器(GridLayout)设置面板

p1=new Panel(new GridLayout(1,3,5,5));

p2=new Panel(new GridLayout(4,5,5,5));

p3=new Panel(new GridLayout(5,1,5,5));

2.2概要设计

该部分主要阐述整个程序包括哪些类,各个类的类名、功能,以及各类中具有什么样的public成员方法(方法访问修饰符、返回值类型、名字、参数列表、方法的功能),以及这些类的对象之间有什么样的关系(或类和类之间有什么关系,即,函数调用关系)。

计算器的整个程序包括:Calculator类和一个main主类.

2.2.1Calculator类中的类名是Calculator.它的功能是使用图形用户来实现

计算器的界面设计和运算功能以及一些科学运算方法.

(1)在Calculator类中具有设置计算器界面布局和颜色的成员方法,使用了两个接口

单击事件监听器接ActionListener口和键盘事件监听器接口(KeyListener).

(2)返回值类型是布尔类型.

2.2.2main主类.中调用了cal.display来实现计算器的功能 .

3实现

(程序的实现代码)

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class Calculator extends WindowAdapter implements ActionListener, KeyListener

{

double dResult=0;

double dNowInput=0;

double dMemory;

int n=0;

int nOperation=1;

int nBitsNum=0;

char ch;

boolean alreadyHaveDot=false;

boolean keyAvailable=true;

boolean alreadyClickedEqueal=false;

boolean isTempNowInput=false;

JFrame f;

Panel p1,p2,p3,p4,p5,p6;

TextField tf1,tf2;

Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0;

Button

bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM;

public void display()

{

f=new JFrame("Calculator");

f.setForeground(Color.BLUE);

f.setSize(290,223);

f.setLocation(220,220);

f.setBackground(Color.PINK);

f.setResizable(false);

f.setLayout(new BorderLayout(4,4));

p1=new Panel(new GridLayout(1,3,5,5));

p2=new Panel(new GridLayout(4,5,5,5));

p3=new Panel(new GridLayout(5,1,5,5));

p4=new Panel(new FlowLayout());

p5=new Panel(new FlowLayout());

p6=new Panel(new FlowLayout());

p4.add(p1);

p4.add(p2);

tf1=new TextField(35);

tf1.setText("0.");

tf1.setEditable(false);

p5.add(tf1);

f.add(p5,BorderLayout.NORTH);

f.add(p4,BorderLayout.CENTER);

f.add(p3,BorderLayout.WEST); tf1.addKeyListener(this);

b1=new Button("1");

b2=new Button("2");

b3=new Button("3");

b4=new Button("4");

b5=new Button("5");

b6=new Button("6");

b7=new Button("7");

b8=new Button("8");

b9=new Button("9");

b0=new Button("0");

b1.setForeground(Color.BLUE); b2.setForeground(Color.BLUE); b3.setForeground(Color.BLUE); b4.setForeground(Color.BLUE); b5.setForeground(Color.BLUE); b6.setForeground(Color.BLUE); b7.setForeground(Color.BLUE); b8.setForeground(Color.BLUE); b9.setForeground(Color.BLUE); b0.setForeground(Color.BLUE);

/*add(b1);

add(b2);

add(b3);

add(b4);

add(b5);

add(b6);

add(b7);

add(b8);

add(b9);

add(b0);*/

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

b9.addActionListener(this);

b0.addActionListener(this);

b1.addKeyListener(this);

b2.addKeyListener(this);

b3.addKeyListener(this);

b4.addKeyListener(this);

b5.addKeyListener(this);

b6.addKeyListener(this);

b7.addKeyListener(this);

b8.addKeyListener(this);

b9.addKeyListener(this);

b0.addKeyListener(this);

bDiv=new Button("/");

bSqrt=new Button("sqrt");

bMulti=new Button("*");

bMinus=new Button("-");

bPercent=new Button("%");

bPlus=new Button("+");

bReciprocal=new Button("1/x");

bEqual=new Button("=");

bDot=new Button(".");

bNegative=new Button("+/-");

bDiv.setForeground(Color.RED);

bSqrt.setForeground(Color.RED);

bMulti.setForeground(Color.RED);

bMinus.setForeground(Color.RED);

bPercent.setForeground(Color.RED);

bPlus.setForeground(Color.RED);

bReciprocal.setForeground(Color.RED); bEqual.setForeground(Color.RED);

bDot.setForeground(Color.RED);

bNegative.setForeground(Color.RED);

/*add(bDiv);

add(bSqrt);

add(bMulti);

add(bMinus);

add(bPercent);

add(bPlus);

add(bReciprocal);

add(bEqual);

add(bDot);

add(bNegative);*/

bDiv.addActionListener(this);

bSqrt.addActionListener(this);

bMulti.addActionListener(this);

bMinus.addActionListener(this);

bPercent.addActionListener(this);

bPlus.addActionListener(this);

bReciprocal.addActionListener(this); bEqual.addActionListener(this);

bDot.addActionListener(this);

bNegative.addActionListener(this); bDiv.addKeyListener(this);

bSqrt.addKeyListener(this);

bMulti.addKeyListener(this);

bMinus.addKeyListener(this);

bPercent.addKeyListener(this);

bPlus.addActionListener(this);

bReciprocal.addKeyListener(this);

bEqual.addKeyListener(this);

bDot.addKeyListener(this);

bNegative.addKeyListener(this);

p2.add(b7);

p2.add(b8);

p2.add(b9);

p2.add(bDiv);

p2.add(bSqrt);

p2.add(b4);

p2.add(b5);

p2.add(b6);

p2.add(bMulti);

p2.add(bPercent);

p2.add(b1);

p2.add(b2);

p2.add(b3);

p2.add(bMinus);

p2.add(bReciprocal);

p2.add(b0);

p2.add(bNegative);

p2.add(bDot);

p2.add(bPlus);

p2.add(bEqual);

bBackspace=new Button("Backspace");

bCE=new Button("CE");

bC=new Button("C");

bBackspace.setForeground(Color.GREEN); bCE.setForeground(Color.BLACK);

bC.setForeground(Color.BLACK);

/*add(bBackspace);

add(bCE);

add(bC);*/

bBackspace.addActionListener(this);

bCE.addActionListener(this);

bC.addActionListener(this);

bBackspace.addKeyListener(this);

bCE.addKeyListener(this);

bC.addKeyListener(this);

p1.add(bBackspace);

p1.add(bCE);

p1.add(bC);

tf2=new TextField(2);

tf2.setEnabled(false);

tf2.setBackground(Color.PINK);

bMC=new Button("MC");

bMR=new Button("MR");

bMS=new Button("MS");

bM=new Button("M+");

bMC.setForeground(Color.BLUE);

bMR.setForeground(Color.BLUE);

bMS.setForeground(Color.BLUE);

bM.setForeground(Color.BLUE);

tf2.addKeyListener(this);

/*add(MC);

add(MR);

add(MS);

add(M);*/

bMC.addActionListener(this);

bMR.addActionListener(this);

bMS.addActionListener(this);

bM.addActionListener(this);

bMC.addKeyListener(this);

bMR.addKeyListener(this);

bMS.addKeyListener(this);

bM.addKeyListener(this);

p6.add(tf2);

p3.add(p6);

p3.add(bMC);

p3.add(bMR);

p3.add(bMS);

p3.add(bM);

f.setVisible(true);

f.addWindowListener(this);

}

public void actionPerformed(ActionEvent e)

{

//key 0 to 9

if(this.keyAvailable && e.getActionCommand().length()==1 && e.getActionCommand().compareTo("0")>=0 && e.getActionCommand().compareTo("9")<=0)

{

if(this.isTempNowInput)

{

this.dNowInput=0;

this.isTempNowInput=false;

}

this.nBitsNum++;

if(this.alreadyHaveDot==false)

this.dNowInput=this.dNowInput*10+Double.parseDouble(e.getActionCommand()); else

{

double temp=Double.parseDouble(e.getActionCommand());

for(int i=this.n;i<0;i++)

{

temp*=0.1;

}

this.dNowInput+=temp;

this.n--;

}

this.tf1.setText(Double.toString(this.dNowInput));

}

// key dot

if(this.keyAvailable && e.getActionCommand()==".")

{

if(this.alreadyHaveDot==false)

{

this.nBitsNum++;

this.alreadyHaveDot=true;

this.n=-1;

}

}

//key "+","-","*","/"

if(this.keyAvailable && e.getActionCommand()=="+" || e.getActionCommand()=="-" || e.getActionCommand()=="*" || e.getActionCommand()=="/") {

if(this.alreadyClickedEqueal)

{

this.dNowInput=this.dResult;

this.isTempNowInput=true;

}

else

{

switch(this.nOperation)

{

case 1: this.dResult+=this.dNowInput; break;

case 2: this.dResult-=this.dNowInput; break;

case 3: this.dResult*=this.dNowInput; break;

case 4:

{

if(this.dNowInput==0)

{

tf1.setText("除数不能为零");

this.keyAvailable=false;

} else this.dResult=this.dResult/this.dNowInput;

}

}

if(this.keyAvailable)tf1.setText(Double.toString(this.dResult));

this.dNowInput=0;

}

if(e.getActionCommand()=="+")

{

this.nOperation=1;

}

if(e.getActionCommand()=="-")

{

this.nOperation=2;

}

if(e.getActionCommand()=="*")

{

this.nOperation=3;

}

if(e.getActionCommand()=="/")

{

this.nOperation=4;

}

this.nBitsNum=0;

this.alreadyClickedEqueal=false;

}

// key "+/-"

if(this.keyAvailable && e.getActionCommand()=="+/-") {

this.dNowInput=0-this.dNowInput;

tf1.setText(Double.toString(this.dNowInput));

}

// key "C"

if(e.getActionCommand()=="C")

{

this.nBitsNum=0;

this.dResult=0;

this.dNowInput=0;

this.alreadyHaveDot=false;

this.n=0;

this.nOperation=1;

this.keyAvailable=true;

this.alreadyClickedEqueal=false;

tf1.setText("0.");

{ch='C';}

}

// key "CE"

if(e.getActionCommand()=="CE")

{

this.nBitsNum=0;

this.dNowInput=0;

this.alreadyHaveDot=false;

this.n=0;

this.nOperation=1;

this.keyAvailable=true;

tf1.setText("0.");

}

// key "sqrt"

if(this.keyAvailable && e.getActionCommand()=="sqrt")

{

if(this.alreadyClickedEqueal)

{

if(this.dResult>=0)

{

this.dResult=Math.sqrt(this.dResult);

tf1.setText(Double.toString(this.dResult)); }

else

{

tf1.setText("函数输入无效");

this.keyAvailable=false;

}

}

else

{

if(this.dNowInput>=0)

{

this.dNowInput=Math.sqrt(this.dNowInput);

tf1.setText(Double.toString(this.dNowInput)); }

else

{

tf1.setText("函数输入无效");

this.keyAvailable=false;

}

}

}

// key "1/x"

if(this.keyAvailable && e.getActionCommand()=="1/x")

{

if(this.dNowInput==0)

{

tf1.setText("除数不能为零");

this.keyAvailable=false;

}

else

{

this.dNowInput=1/this.dNowInput;

tf1.setText(Double.toString(this.dNowInput));

}

}

// key "="

if(this.keyAvailable && e.getActionCommand()=="=")

{

this.alreadyClickedEqueal=true;

switch(this.nOperation)

{

case 1: this.dResult+=this.dNowInput; break;

case 2: this.dResult-=this.dNowInput; break;

case 3: this.dResult*=this.dNowInput; break;

case 4:

{

if(this.dNowInput==0)

{

tf1.setText("除数不能为零");

this.keyAvailable=false;

} else this.dResult=this.dResult/this.dNowInput; }

}

if(this.keyAvailable)tf1.setText(Double.toString(this.dResult));

}

// key "MS"

if(this.keyAvailable && e.getActionCommand()=="MS")

{

this.dMemory=this.dNowInput;

if(this.dMemory!=0)

tf2.setText("M");

}

// key "MC"

if(this.keyAvailable && e.getActionCommand()=="MC")

{

this.dMemory=0;

tf2.setText("");

}

// key "MR"

if(this.keyAvailable && e.getActionCommand()=="MR")

{

this.dNowInput=this.dMemory;

tf1.setText(Double.toString(this.dNowInput));

}

// key "M+"

if(this.keyAvailable && e.getActionCommand()=="M+")

{

this.dMemory+=this.dNowInput;

if(this.dMemory!=0)

tf2.setText("M");

else tf2.setText("");

}

// key "%"

if(this.keyAvailable && e.getActionCommand()=="%")

{

this.dNowInput=(this.dResult*this.dNowInput)/100;

tf1.setText(Double.toString(this.dNowInput));

}

// key "Backspace"

if(this.keyAvailable && e.getActionCommand()=="Backspace")

{

if(!this.alreadyClickedEqueal)

{

if(this.dNowInput!=0)

{

if(this.alreadyHaveDot)

{

if(this.n==-1)

{

this.alreadyHaveDot=false;

this.n=0;

}

else

{

String str,str1;

str=tf1.getText();

str1=str.substring(0,this.nBitsNum-1);

this.nBitsNum--;

this.n++;

this.dNowInput=Double.parseDouble(str1);

tf1.setText(Double.toString(this.dNowInput)); }

}

else

{

int temp;

temp=(int)(this.dNowInput/10);

this.dNowInput=(double)temp;

tf1.setText(Double.toString(this.dNowInput));

}

}

}

}

}

public void keyPressed(KeyEvent e)

{}

public void keyReleased(KeyEvent e)

{}

public void keyTyped(KeyEvent e)

{

char ch=e.getKeyChar();

System.out.println(ch+" ");

}

public void processEvent(char ch)

{}

public static void main(String args[])

{

Calculator cal=new Calculator();

cal.display();

}

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

}

4测试

(针对需求分析部分提出的功能和要求进行对应的一项项的测试,并给出测试容和测试结果)

4+12=16

4.2实现减法运算:

22-11=11

3*9=2

4.4实现除法运算:

64/32=2

4.5用”C’实现清零功

能:

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

简单计算器JAVA

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单计算器 学生学号 专业班级信管101 学生姓名 学生成绩 指导教师朱军 工作时间2013-7-5

目录 第一章选题简介 第二章需求分析 1.系统要实现的目标分析 2.对输入输出数据及流程的分析 3.开发环境及运行环境分析 第三章系统设计 1.系统功能模块设计 2.类设计 3.数据库的设计(如果有) 4.界面设计 第四章测试 1.测试用例及结果 2.程序功能的评价 第五章总结 1.遇到的问题及解决的方法 2.开发体会及自评成绩 参考文献 第一章选题简介:简单计算器

第二章需求分析 1.系统要实现的目标分析:设计一个简单计算器,点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;如果输入有误时可以按Clear撤销后重新输入新数据。 2.对输入输出数据及流程的分析:输入的符号有JiSuanQi、File、Edit、Help、on、off、close、copy、0、1、2、3、4、5、6、7、8、9、+、-、*、/、=、Backspace、CE、C,中文意思依次是计算器、文件夹、项目、帮助、开、关、复制、0、1、2、3、4、5、6、7、8、9、加、减、乘、除、等于、退格; 3.开发环境及运行环境分析:Microsoft Windows2000、jdk1.7.0_25、JCreator Pro; 第三章系统设计 1.系统功能模块设计:加、减、乘、除运算;“等于”符号;复位; 2.类设计:public void disp() 创建无值函数disp(),用来存放界面所需要展示的元素,包 括有面板,按钮,弹出对话框,显示框等。 public void actionPerformed(ActionEvent e) 创建无值函数actionPerformed(ActionEvent e),其允许的输入 值类型为ActionEvent e,在里面编写的是加减乘除等一些算 法。 public void setSum() 创建无值函数setSum(),显示出经过算法计算出的结果, public void windowClosing(WindowEvent e)

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化

参考代码: import java.awt.*; import https://www.doczj.com/doc/7c8096416.html,ng.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.text.DecimalFormat; public class Calculator implements ActionListener { //导入动作监听接口 //设计面板中的单位 JFrame frame; JTextField textAnswer; JPanel panel, panel1, panel2, panel3; JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[]; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul, buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi; double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd)

Java带计算过程的计算器课程设计报告

保存计算过程的计算器 Java程序设计课程设计报告保存计算过程的计算器 目录 1 概述.............................................. 错误!未定义书签。 1.1 课程设计目的............................... 错误!未定义书签。 1.2 课程设计内容............................... 错误!未定义书签。 2 系统需求分析.......................................... 错误!未定义书签。 2.1 系统目标................................... 错误!未定义书签。 2.2 主体功能................................... 错误!未定义书签。 2.3 开发环境................................... 错误!未定义书签。 3 系统概要设计.......................................... 错误!未定义书签。 3.1 系统的功能模块划分......................... 错误!未定义书签。 3.2 系统流程图................................. 错误!未定义书签。4系统详细设计........................................... 错误!未定义书签。 5 测试.................................................. 错误!未定义书签。 5.1 测试方案................................... 错误!未定义书签。 5.2 测试结果................................... 错误!未定义书签。 6 小结.................................................. 错误!未定义书签。参考文献................................................ 错误!未定义书签。附录................................................ 错误!未定义书签。 附录1 源程序清单...................................... 错误!未定义书签。

计算器 java程序设计..

目录 1.课程设计目的 (2) 2.设计题目分析 (2) 2.1 题目简介 (2) 2.2 设计要求及需求分析 (2) 3.课程设计内容 (3) 3.1 总体设计 (3) 3.2计算器功能模块设计 (4) 3.3计算器算法流程设计 (4) 3.4类的设计 (5) 3.5代码实现: (6) 3.5 设计结果与分析 (8) 4.设计心得与总结 (10) 参考文献: (10) 附录: (11)

1.课程设计目的 通过课程设计把知识形成系统,把自己所学的知识在实际问题中加以运用。如果自己编写的程序能够给更多的人带来方便,并且得到人们的好评,那么自己编写的程序就可以实现商品化,形成产品给更多的人利用,并实现一定的商品价值。 因此本次课程设计有目的有以下几点: (1)复习巩固java语言的基础知识,进一步加深对java语言的理解和掌控。 (2)提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机结合起来,锻炼我们的分析解决实际问题的能力。提高我们适应实际,实践编程的能力。 (3)培养我们在项目开发中创新意识及能力,通过亲身实践,利用所学编写简单的面向对象程序,提高对面向对象及JAVA语言的理解。 2.设计题目分析 2.1 题目简介 设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算、设计的计算器应用程序可以完成家法、减法、乘法、除法。 2.2 设计要求及需求分析 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件处理等实现具体功能。 背景需求分析:在我们日常生活中,计算开支、收入时,大额数字或是多倍小数的计算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。虽然现在的计算器价格比较低廉,但是功能过于简单的不能满足个人需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。所以我们想用自己所学设计开发一个属于自己的简单计算器来完成日常学习生活的需求。

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.doczj.com/doc/7c8096416.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

java编写的加法计算器

/* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author asus */ import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator implements ActionListener { JFrame sb; String s1,s2; int T1,T2,T3; JTextField t1,t2,t3; JLabel jl1,jl2; public Calculator() { sb=new JFrame("加法计算器"); sb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); sb.setSize(260,100); Container a=sb.getContentPane(); a.setLayout(new FlowLayout()); t1=new JTextField(5); t2=new JTextField(5); t3=new JTextField(5); t1.setEditable(true); t2.setEditable(true); t3.setEditable(false); jl1=new JLabel("+"); jl2=new JLabel("="); JButton he=new JButton("求和"); he.addActionListener(this); a.add(t1); a.add(jl1); a.add(t2); a.add(jl2); a.add(t3); a.add(he);

计算器程序java

1课程实习内容概述 1.1 目的及任务 成功的Java课程设计是其课程学习到位的一个重要体现,通过课程设计使学生更加掌握JAVA语言编程的基础知识并能熟练运用。如: (1)、掌握Java开发面向对象的软件设计思想、方法及步骤; (2)、熟悉类声明与对象的使用,并进一步强化类的定义,掌握类的继承、接口以及变量、数组的应用; (3)、了解JAVA语言的图形用户界面的设计知识,并运用JAVA 编写简单计算器程序。 2 程序实现的基本思想 2.1 问题分析 编写一个简单计算器程序,它要具有0~9数及π的输入、加、减、乘、除、开根号、正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换、删除、清空的功能。 2.2 总体设计 (1)、首先要设计其GUI界面,总体界面有一个文本框,共有32个按钮,总体界面用BorderLayout布局。 (2)、文本框放置在总体界的NORTH; (3)、0到9以及“.”=的按钮放置到一个面板Panel1中,并用GridLayout(4,3)来布局,再将其添加到一个面板panel_center中,最后将panel_center面板放进整体布局的CENTER; (4)、将正三角反三角函数、e^x、ln(x)、lg(x)、tanh、角度和弧度的转换等12个按钮放置到一个面板Panel3中,设计其按键字体为蓝色,并用GridLayout(4,3)来布局,再将其放进整体布局的WEST; (5)、将+、-、 *、/、 2√、π、以及删除和清空等8个按钮放置到一个面板Panel2中,设计其按键字体为蓝色,并用GridLayout(4,2)来布局,再将其放进整体布局的EAST中,界面设计完成。

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

简易计算器Java实训报告

实训名称: Java程序设计实训 系(部):信息工程系 专业班级:计算机科学与技术学生姓名: 学号: 指导教师:张民 完成日期:

山东科技大学泰山科技学院

目录 1 实训目的 (2) 2 简易计算机的分析与设计 (2) 系统功能描述 (2) 系统模块设计 (2) 数据库结构设计 (3) 3 主要代码清单 (4)

4 程序运行与测试 (8) 5 实训总结 (10)

简易计算机的设计与实现 1 实训目的 通过本课程设计能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 2 简易计算机的分析与设计 系统功能描述 1)可进行“+”、“-”、“*”、“/”以及混合运算。 2)支持()改变运算的优先级 3)可进行二、十六和十进制数的相互转换 4)支持复制和粘贴操作

java计算器设计报告

摘要 本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开平方、求余、求倒数,还可以实现二进制与十进制之间的转换。通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。 关键词: java语言,计算器,算法

目录 摘要 (1) 1概述 (3) 1.1设计目的及思路 (3) 1.2功能模块设计 (3) 1.3系统功能图 (3) 2计算器的设计与实现 (4) 2.1程序界面 (4) 2.2程序源代码 (4) 3计算器演示 (10) 4运行调试及讨论分析 (13) 5小结 (14) 参考文献: (14)

1概述 1.1设计目的及思路 通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。 给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。 除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。 至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。 当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现! 1.2功能模块设计 以下为标准计算器的基本功能: (1)加法 两个数据进行加操作,可以为小数。 (2)减法 两个数据进行减操作,可以为负数相减。 (3)乘法 两个数相乘操作。 (4)除法 两个数相除操作。 (5)开平方 对任意一个数进行开方运算,可以是小数。 (6)求余 对任意一个数进行求余运算。 (7)倒数 对任意一个数进行倒数运算。 (8)转换 将十进制数转换为二进制以及将二进制转换为十进制。 1.3系统功能图

用java编写简单计算器

用java写了一个简单计算器,能实现简单的数据计算。 一、先写界面代码: 在UI包里面新建一个Class文件,取名自己想,这里我写的是CalculatorFrame package ui; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.border.TitledBorder; public class CalculatorFrame extends JFrame { private static final long serialV ersionUID = 1L; public String opt; public String str; private JTextArea show; private ClientContext clientContext;//引用控制器对象 /*因为调用了控制器里面的方法,所以要对控制器的对象进行赋值,否则运行会出现空指针异常*/ public void setClientContext(ClientContext clientContext) { this.clientContext = clientContext; } public CalculatorFrame() { init(); } private void init() { setTitle(" Simple Calculator"); setBounds(533, 184, 300, 400); setContentPane(creatContentPane()); }

Java实现简易计算器

Java实训作业题目:Java实现简易计算器 学院: 姓名: 学号: 班级: 20 年月

一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。 二、实验要求 用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。 三、详细内容 1.界面设计 界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示:

图1-1 其中主要代码为: public mainWindow(){ this.setTitle("计算器");//用户图形界面标题 this.setVisible(true);//用户图形界面可缩小 this.setResizable(false);//用户图形界面不可放大 this.setSize(350,300);//设置用户图形界面的大小 this.setLocation(400,150);//用户图形界面在屏幕中的显示位置 JPanel panel1 = new JPanel();//新建一个画板 JPanel panel2 = new JPanel(); button1 = new JButton("1"); ... reset = new JButton("CE"); Container container = this.getContentPane(); container.add(panel2,BorderLayout.NORTH); container.add(panel1); panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列 result.setEnabled(false); result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小 result.setEditable(false); result.setHorizontalAlignment(SwingConstants.RIGHT); panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小 reciprocal.setFont(new Font("Dialog",Font.PLAIN,20)); ... panel1.add(divide);

用JAVA编写计算器程序

用JAVA编写计算器程序(模拟Windows计算器) import java.awt.*; import java.awt.event.*; public class Calculation extends WindowAdapter implements ActionList ener { double dResult=0; double dNowInput=0; double dMemory; int n=0; //记载小数位数 int nOperation=1; // 记录运算符类型 int nBitsNum=0; //记录总共输入的位数 boolean alreadyHaveDot=false; //已经有小数点? boolean keyAvailable=true; boolean alreadyClickedEqueal=false; //是否按下过"="? boolean isTempNowInput=false; //是否在计算出结果后直接按运算符将结果赋给了当前输入值? Frame f; Panel p1,p2,p3,p4,p5,p6; TextField tf1,tf2; Button b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; Button bDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot, bNegative; Button bBackspace,bCE,bC,bMR,bMS,bMC,bM; public void display() { f=new Frame("计算器"); f.setSize(280,213); f.setLocation(200,200); f.setBackground(Color.LIGHT_GRAY); f.setResizable(false); f.setLayout(new BorderLayout(3,3)); p1=new Panel(new GridLayout(1,3,5,5)); //用于存放backspace,ce,c三键 p2=new Panel(new GridLayout(4,5,5,5)); //用于存放数字区及附近共20键, 此处间隙设置可能不合理,以后调整 p3=new Panel(new GridLayout(5,1,5,5)); //用于存放MC,MR,MS,M+键及显示M状态文本框,此处间隙设置可能不合理,以后调整 p4=new Panel(new FlowLayout()); //用于存放p1,p2 p5=new Panel(new FlowLayout()); p6=new Panel(new FlowLayout()); p4.add(p1); p4.add(p2); tf1=new TextField(35); //存放显示区 tf1.setText("0."); tf1.setEditable(false); p5.add(tf1); f.add(p5,BorderLayout.NORTH); f.add(p4,BorderLayout.CENTER); f.add(p3,BorderLayout.WEST); b1=new Button("1"); b2=new Button("2"); b3=new Button("3"); b4=new Button("4"); b5=new Button("5"); b6=new Button("6");

java课程设计 计算器实际与实现

《面向对象程序设计》 课程设计报告 题目: 计算器设计与实现 专业: 班级: 姓名: 指导教师: 成绩: xx 201x 年 x 月xx 日 xxxxxx

目录 1 设计内容及要求 (1) 1.1设计内容 (1) 1.2设计任务及具体要求 (1) 2 概要设计 (1) 2.1 功能需求 (1) 2.2 系统的开发运行环境 (2) 3 设计过程 (2) 3.2系统功能模块 (3) 4 设计结果与分析 (4) 4.1功能模块的划分 (4) 4.2功能模块的实现 (4) 小结 (10) 5 参考文献 (11)

1 设计内容及要求 1.1设计内容 该程序是一个图形界面的简单Java计算器,具有良好的界面,使用人员能快捷简单的进行操作。即时准确地获得需要的计算结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。可以进行简单的四则运算(加、减、乘、除,等) 1.2设计任务及具体要求 计算器的设计与实现,使学生巩固和加深以Java 语言为基础的面向对象编程技术理论知识的理解,提高实际动手编程能力的培养,掌握以Java为核心的应用软件开发方案,达到能独立阅读、编制和调试一定规模的Java程序的水平。在日常生活中经常需要用到计算器,比如科学计算、数字计算、会计业务甚至是日常生活中的一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。 2 概要设计 2.1 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。

java计算器代码

计算器不单单是练习如何布局,更重要的是如何实现复杂的运算逻辑。新手编写计算器,无疑会用到大量的 if-else。而熟练的开发人员知道如何避开这点。下面是代码。 [java] view plaincopyprint?import javax.swing.*; import javax.swing.border.Border; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.math.BigDecimal; import java.math.RoundingMode; import java.util.HashMap; /** * 我的计算器。MyCalculator 继承于 JFrame,是计算器的界面 */ public class MyCalculator extends JFrame { private Border border = BorderFactory.createEmptyBorder(5, 5, 5, 5); private JTextField textbox = new JTextField("0"); private CalculatorCore core = new CalculatorCore(); private ActionListener listener = new ActionListener() { public void actionPerformed(ActionEvent e) { JButton b = (JButton) e.getSource(); String label = b.getText(); String result = core.process(label); textbox.setText(result); } }; public MyCalculator(String title) throws HeadlessException { super(title); // 调用父类构造方法 setupFrame(); // 调整窗体属性

Java实现简易计算器

Java实训作业 题目:Java实现简易计算器 学院: 姓名: 学号: 班级: 20 年月

一、实验目的 通过课程设计,主要要达到两个目的,一是检验和巩固专业知识、二是提高综合素质和能力。此次课程设计实训主要是Java语言程序设计的实现。通过该课程设计,可以将课堂上掌握的理论知识与处理数据的业务相结合,以检验自己掌握知识的宽度、深度及对知识的综合运用能力。 二、实验要求 用Java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,平方等功能。 三、详细内容 1.界面设计 界面设计使用GUI,其中有用到swing组件的TextField和Button,用到awt中的BorderLayout和GridLayout布局管理方式,其图形界面如图1-1所示: 图1-1

其中主要代码为: public mainWindow(){ this.setTitle("计算器");//用户图形界面标题 this.setVisible(true);//用户图形界面可缩小 this.setResizable(false);//用户图形界面不可放大 this.setSize(350,300);//设置用户图形界面的大小 this.setLocation(400,150);//用户图形界面在屏幕中的显示位置 JPanel panel1 = new JPanel();//新建一个画板 JPanel panel2 = new JPanel(); button1 = new JButton("1"); ... reset = new JButton("CE"); Container container = this.getContentPane(); container.add(panel2,BorderLayout.NORTH); container.add(panel1); panel1.setLayout(new GridLayout(5,4));//将画板1分为4行5列 result.setEnabled(false); result.setFont(new Font("Dialog",Font.BOLD,25));//运算结果的字体大小 result.setEditable(false); result.setHorizontalAlignment(SwingConstants.RIGHT); panel1.add(reciprocal);//分别将20个按钮依次添加到画板panel1中,并设置各自的大小 reciprocal.setFont(new Font("Dialog",Font.PLAIN,20)); ... panel1.add(divide); divide.setFont(new Font("Dialog",Font.PLAIN,20)); panel2.setLayout(new GridLayout()); panel2.add(result);//画板panel2添加运算结果 2.四则运算 较为简单的实现了简单的加、减、乘、除运算,主要代码如下:

java课程设计报告计算器

java课程设计报告 计算器 1 2020年4月19日

目录 一、课程设计目的 (5) 二、课程设计任务.................................................................................................... .. (2) 2.1、设计任务 (5) 2.2、课程设计要求: (6) 2.3、需求分析 (6) 三、开发工具与平台.................................................................................................... (3) 3.1、开发工具 (7) 3.2、开发平台 (7) 2 2020年4月19日

四、设计思路.................................................................................................... . (4) 4.1、界面设计.................................................................................................... . (4) 4.2.1、逻辑设计 (8) 4.2.2、程序流程图.................................................................................................... . (5) 4.2.3、主要代码展示及说明 (5) 4.3、程序测试 (18) 五、实验小结 (20) 3 2020年4月19日

相关主题
文本预览
相关文档 最新文档