import javax.swing.*;把 javax包里面的swing包里面的所有东西引进来
import java.awt.*;导入awt包里的所有java类
import java.awt.event.*;导入包event
import java.text.DecimalFormat;处理文本、日期、数字和消息的类和接口
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class biaozhunjisuanqi extends JFrame implements ActionListener { public 代表该类公有
class声明一个类
biaozhunjisuanqi为类名
extends 是继承类
implements代表实现接口
窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法
private static final long serialVersionUID = 1L; serialVersionUID相当于java 类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性
private JPanel jContentPane = null; 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象
private JPanel jPanel = null; JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel 对象作为一个组件添加到另一个容器 (称作父容器) 中
private JButton jButton = null; 9 JButton是用户进行计算时主要的使用工具,一般为其添加actionPerformed事件。
private JButton jButton1 = null; ()
private JButton jButton2 = null;(sqrt)
private JButton jButton3 = null;(4)
private JButton jButton4 = null;(5)
private JButton jButton5 = null;(6)
private JButton jButton6 = null;(*)
private JButton jButton7 = null;(%)
private JButton jButton8 = null;(1)
private JButton jButton9 = null;(7)
private JButton jButton10 = null;(8)
private JButton jButton11 = null;(2)
private JButton jButton12 = null;(3)
private JButton jButton13 = null;(-)
private JButton jButton14 = null;(1x)
private JButton jButton15 = null;(0)
private JButton jButton16 = null;(+-)
private JButton jButton17 = null;(.)
private JButton jButton18 = null;(+)
private JButton jButton19 = null;(=)
private JTextField jTextField = null; JTextField是一个的文本框private JTextField textMemory= null;作为输入M用
private JButton jButton20 = null;(MC)
private JButton jButton21 = null;(MR)
private JButton jButton22 = null;(MS)
private JButton jButton23 = null;(M+)
private JButton jButton24 = null;(Backspace)
private JButton jButton25 = null;(CE)
private JButton jButton26 = null;(C)
double memoryd; 使用内存中存储的数字
int memoryi;
科学计算器按钮
private JButton jButton31 = null;(十六进制)
private JButton jButton32 = null;(sin)
private JButton jButton33 = null;(cos)
private JButton jButton34 = null;(十进制)
private JButton jButton35 = null;(tan)
private JButton jButton36 = null;(弧度)
private JButton jButton37 = null;(八进制)
private JButton jButton38 = null;(X^2)
private JButton jButton39 = null;(X^3)
private JButton jButton40 = null;(二进制)
private JButton jButton41 = null;(X^y)
private JButton jButton42 = null;(n!)
private JButton jButton43 = null;(Pi)
private JButton jButton44 = null;(ln)
private JButton jButton45 = null;(log10)
A-F
private JButton jButton46 = null;(A)
private JButton jButton47 = null;(B)
private JButton jButton48 = null;(C)
private JButton jButton49 = null;(D)
private JButton jButton50 = null;(E)
private JButton jButton51 = null;(F)
private JPanel jPanel1 = null;
private JPanel jContentPane1 = null;
private String str=""; 声明私有字符串变量str
private double dataone;变量名用来存储运算的数据
private char Operator='A'; 存放运算符
private boolean pointIsTyped=false; 判断输入的数据是否是小数
private JMenuBar jJMenuBar = null;
private JMenu jMenu = null; JMenu定义菜单编辑键
private JMenuItem jMenuItem = null; JMenuItem菜单中项的实现复制(Ctrl+C)private JMenuItem jMenuItem1 = null;粘贴(Ctrl+V)
private JMenu jMenu1 = null;定义查看菜单
private JMenuItem jMenuItem3 = null;帮助主题
private JMenuItem jMenuItem4 = null;关于计算器
private JMenu jMenu2 = null;定义帮助菜单
private JMenuItem jMenuItem5 = null;标准型
private JMenuItem jMenuItem6 = null;科学型
private JMenuItem jMenuItem7 = null;勾股定理
private JMenuItem jMenuItem8 = null;解一元二次方程
DecimalFormat df;保留小数位数
private JButton getJButton() {使用private JButton getJButton()方法添加按钮并给按钮命名
if (jButton == null) {
jButton = new JButton();
jButton.setText("9");
jButton.setFont(new Font("楷体", Font.BOLD, 30));使用
jButton.setFont(new Font("楷体", Font.BOLD, 30))方法设置按钮的字体
jButton.setForeground(new Color()); 使用方法设置按钮的字体颜色红色、绿色和蓝色
jButton.setFocusable(false);
jButton.addActionListener(new ActionListener() {相当于声明了一个实现了ActionListener接口的对象..(因为可以看到其中的方法都被重写实现了.)更多具体细节,
可以参考java 匿名类的使用,就是把对象jButton 注册给事件监听者new
ActionListener(){ Public void actionPerformed(ActionEvent ae){}} 说明一下new ActionListener() { Public void actionPerformed(ActionEvent ){}}是一个匿名内部类,用来实现对动作事件的处理
public void actionPerformed(ActionEvent e) {这是 ActionListener 中定义的方法,事件监听器,当定义的事件捕获以后就会执行这个方法里面的代码
str+="9";
jTextField.setText(str);jTextField是api(Application Program Interface应用程序接口)里面得一个文本主键,要掉用它就要import实现接口,jtextfield文本框...用来建立文本框的,用户可以在文本框输入单行的文本。在Java Swing中的加“J”字头的文本输入框包括两种,单行文本输入框(jtextfield)和多行文本输入框(JTextArea)。
}
});
单击后变色
jButton.addMouseListener(new MouseListener(){设置数字按钮1到9并添加监控,使其在发生鼠标事件时改变按钮颜色
public void actionPerformed(MouseEvent e) {这是 MouseListener
中定义的方法,java 的事件监听器的一个,例如点击按钮、文本框里按下回车,就会调用这个里面的方法。
jButton.setForeground(new Color());Foreground指前背景色
}
public void mouseClicked(MouseEvent e) {鼠标单击方法 (鼠标点击后)
jButton.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {鼠标进入组件方法(鼠标进入某个区域后)
jButton.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {鼠标退出组件方法(鼠标离开某个区域后)
jButton.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {鼠标按键按下后
jButton.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {被按住的鼠标按键释放后
jButton.setForeground(new Color());
}
}
);
}
return jButton;
}
private JButton getJButton1() {注册按钮
if (jButton1 == null) {
jButton1 = new JButton();实例化一个对象,给按钮添中符合.
jButton1.setText("");
jButton1.setFont(new Font("楷体", Font.BOLD, 30));
jButton1.setForeground(new Color());
jButton1.addActionListener(new ActionListener() {给jButton1添加一个事件侦听器new ActionListener(),当jButton被按下的时候,所需要发生的事情定义在new
ActionListener()里
public void actionPerformed(ActionEvent e) {
str=jTextField.getText();
Operator='';
dataone=Double.parseDouble(str);表示将转换好的Double类型的数值赋值给dataone类
str="";
jTextField.setText(str);
}
});
}
return jButton1;
}
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton("sqrt");开根号运算,定义jButton2 = new JButton("sqrt");对其设置监控,调用Math.sqrt()方法来实现开根号运算,并在文本框中输出结果
jButton2.setFont(new Font("楷体", Font.BOLD, 30));Font字体的意思,楷体,加粗,字体号大小30
jButton2.setForeground(new Color());
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double a=Double.parseDouble(jTextField.getText());表示将转换好的Double类型的数值赋值给double类型的变量。
double b;
if(a<0){
jTextField.setText("负数不能开平方");
}
else{
b=Math.sqrt(a);
jTextField.setText(Double.toString(b));Double.toString(next()) 将这个数double 数转化成 String 类型(字符串)
}
}
}
return jButton2;
}
private JButton getJButton3() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setText("4");
jButton3.setFont(new Font("楷体", Font.BOLD, 30));
jButton3.setForeground(new Color());
jButton3.setFocusable(false);
jButton3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="4";
jTextField.setText(str);
}
});
jButton3.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton3.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton3.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton3.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton3.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton3.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton3.setForeground(new Color());
}
}
}
return jButton3;
}
private JButton getJButton4() {
if (jButton4 == null) {
jButton4 = new JButton();
jButton4.setText("5");
jButton4.setFont(new Font("楷体", Font.BOLD, 30));
jButton4.setForeground(new Color());
jButton4.setFocusable(false);
jButton4.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="5";
jTextField.setText(str);
}
});
jButton4.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton4.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton4.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton4.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton4.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton4.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton4.setForeground(new Color());
}
}
}
return jButton4;
}
private JButton getJButton5() {
if (jButton5 == null) {
jButton5 = new JButton();
jButton5.setText("6");
jButton5.setFont(new Font("楷体", Font.BOLD, 30));
jButton5.setForeground(new Color());
jButton5.setFocusable(false);
jButton5.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="6";
jTextField.setText(str);
}
});
jButton5.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton5.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton5.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton5.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton5.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton5.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton5.setForeground(new Color());
}
}
}
return jButton5;
}
private JButton getJButton6() {
if (jButton6 == null) {
jButton6 = new JButton();
jButton6.setText("*");
jButton6.setFont(new Font("楷体", Font.BOLD, 30));
jButton6.setForeground(new Color());
jButton6.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
str=jTextField.getText();
Operator='*';
dataone=Double.parseDouble(str);
str="";
jTextField.setText(str);
}
});
}
return jButton6;
}
private JButton getJButton7() {
if (jButton7 == null) {
jButton7 = new JButton("%");设置百分比按钮,jButton7 = new JButton("%");使用变量i1来存放从文本框中读出的数据并转换成double类型,定义double类型变量z1,z1=i1100实现求百分比运算,在使用jTextField.setText(Double.toString(z1))使其在文本框中输出结果
jButton7.setFont(new Font("楷体", Font.BOLD, 30));
jButton7.setForeground(new Color());
jButton7.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double i1=Double.parseDouble(jTextField.getText());
double z1=i1100;
jTextField.setText(Double.toString(z1));
}
}
return jButton7;
}
private JButton getJButton8() {
if (jButton8 == null) {
jButton8 = new JButton();
jButton8.setText("1");
jButton8.setFont(new Font("楷体", Font.BOLD, 30));
jButton8.setForeground(new Color());
jButton8.setFocusable(false);
jButton8.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="1";
jTextField.setText(str);
}
});
jButton8.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton8.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton8.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton8.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton8.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton8.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton8.setForeground(new Color());
}
);
}
return jButton8;
}
private JButton getJButton9() {
if (jButton9 == null) {
jButton9 = new JButton();
jButton9.setText("7");
jButton9.setFont(new Font("楷体", Font.BOLD, 30));
jButton9.setForeground(new Color());
jButton9.setFocusable(false);
jButton9.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="7";
jTextField.setText(str);
}
});
jButton9.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton9.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton9.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton9.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton9.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton9.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton9.setForeground(new Color());
}
);
}
return jButton9;
}
private JButton getJButton10() {
if (jButton10 == null) {
jButton10 = new JButton();
jButton10.setText("8");
jButton10.setFocusable(false);
jButton10.setFont(new Font("楷体", Font.BOLD, 30));
jButton10.setForeground(new Color());
jButton10.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="8";
jTextField.setText(str);
}
});
jButton10.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton10.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton10.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton10.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton10.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton10.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton10.setForeground(new Color());
}
);
}
return jButton10;
}
private JButton getJButton11() {
if (jButton11 == null) {
jButton11 = new JButton();
jButton11.setText("2");
jButton11.setFont(new Font("楷体", Font.BOLD, 30));
jButton11.setForeground(new Color());
jButton11.setFocusable(false);
jButton11.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="2";
jTextField.setText(str);
}
});
jButton11.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton11.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton11.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton11.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton11.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton11.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton11.setForeground(new Color());
}
);
}
return jButton11;
}
private JButton getJButton12() {
if (jButton12 == null) {
jButton12 = new JButton();
jButton12.setText("3");
jButton12.setFont(new Font("楷体", Font.BOLD, 30));
jButton12.setForeground(new Color());
jButton12.setFocusable(false);
jButton12.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="3";
jTextField.setText(str);
}
});
jButton12.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton12.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton12.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton12.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton12.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton12.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton12.setForeground(new Color());
}
);
}
return jButton12;
}
private JButton getJButton13() {
if (jButton13 == null) {
jButton13 = new JButton();
jButton13.setText("-");
jButton13.setFont(new Font("楷体", Font.BOLD, 30));
jButton13.setForeground(new Color());
jButton13.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
str=jTextField.getText();
Operator='-';
dataone=Double.parseDouble(str);
str="";
jTextField.setText(str);
}
});
}
return jButton13;
}
private JButton getJButton14() {
if (jButton14 == null) {
jButton14 = new JButton("1x");设置求倒数运算,jButton14 = new JButton("1x");定义double变量c用来存放从文本框中读出的数据,设置if……else语句来判断当c==0时在文本框中输出“除数不能等于0”,否则就输出结果
jButton14.setFont(new Font("楷体", Font.BOLD, 30));
jButton14.setForeground(new Color());
jButton14.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double c=Double.parseDouble(jTextField.getText());
double d;
if(c==0){
jTextField.setText("除数不能等于0");
}else{
d=1c;
jTextField.setText(Double.toString(d));
}
}
});
}
return jButton14;
}
private JButton getJButton15() {
if (jButton15 == null) {
jButton15 = new JButton();
jButton15.setText("0");
jButton15.setFont(new Font("楷体", Font.BOLD, 30));
jButton15.setForeground(new Color());
jButton15.setFocusable(false);
jButton15.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {
str+="0";
jTextField.setText(str);
}
});
jButton15.addMouseListener(new MouseListener(){
public void actionPerformed(MouseEvent e) {
jButton15.setForeground(new Color());
}
public void mouseClicked(MouseEvent e) {
jButton15.setForeground(new Color());
}
public void mouseEntered(MouseEvent e) {
jButton15.setForeground(new Color());
}
public void mouseExited(MouseEvent e) {
jButton15.setForeground(new Color());
}
public void mousePressed(MouseEvent e) {
jButton15.setForeground(new Color());
}
public void mouseReleased(MouseEvent e) {
jButton15.setForeground(new Color());
}
}
);
}
return jButton15;
}
private JButton getJButton16() {
if (jButton16 == null) {
jButton16 = new JButton("+-");定义相反数按钮,jButton16 = new JButton("+-");通过使用0-Double.parseDouble(jTextField.getText().trim());使文本框中的数据变成其相反数
jButton16.setFont(new Font("楷体", Font.BOLD, 30));
jButton16.setForeground(new Color());
jButton16.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
double
i2=0-Double.parseDouble(jTextField.getText().trim());
jTextField.setText(Double.toString(i2));
}
});
}
return jButton16;
}
private JButton getJButton17() {
if (jButton17 == null) {
jButton17 = new JButton();
jButton17.setFocusable(false);
jButton17.setText(".");
jButton17.setFont(new Font("楷体", Font.BOLD, 30));
jButton17.setForeground(new Color());
jButton17.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
str+=".";
jTextField.setText(str);
}
});
}
return jButton17;
}
private JButton getJButton18() {
if (jButton18 == null) {
jButton18 = new JButton();
jButton18.setText("+");
jButton18.setFont(new Font("楷体", Font.BOLD, 30));
jButton18.setForeground(new Color());
jButton18.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
str=jTextField.getText();
Operator='+';
dataone=Double.parseDouble(str);
str="";
jTextField.setText(str);
}
});
}
return jButton18;
}
private JButton getJButton19() {
if (jButton19 == null) {
jButton19 = new JButton();
jButton19.setText("=");等于号按钮,jButton19.setText("=");通过使用switch……case语句来控制,Operator变量在定义+、-、*、按钮时对其赋值
jButton19.setFont(new Font("楷体", Font.BOLD, 30));
jButton19.setForeground(new Color());
jButton19.addActionListener(new ActionListener() {这是一个匿名类,继承
public void actionPerformed(ActionEvent e) {
double datatwo;
datatwo=Double.parseDouble(str);
switch(Operator){
case'+':dataone+=datatwo;break;
case'-':dataone-=datatwo;break;
case'*':dataone*=datatwo;break;
case'':dataone=datatwo;break;
default:break;
}
str=Double.toString(dataone);
jTextField.setText(str);
}
});
}
return jButton19;
}
private JTextField gettextMemory(){定义文本框textMemory,用来显示进行MS、M+操作时显示M用,使用textMemory.setEditable(false);方法使textMemory文本框变成不可编辑
if (textMemory== null) {
textMemory = new JTextField();定义文本框jTextField,用来显示运算结果
textMemory.setText("计算器 ");
textMemory.setFont(new Font("华文行楷", Font.BOLD, 15));
textMemory.setEditable(false);
textMemory.setBounds(new Rectangle(5, 40, 60, 40));
textMemory.setHorizontalAlignment(JTextField.RIGHT);
textMemory.addActionListener(this);
}
return textMemory;
}
private JTextField getJTextField() {这个方法主要是用来对类中的属性jTextField 进行判断的,如果它为空,则实例化一个JTextField对象,如果不为空则原样返回!
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setText("0");
jTextField.setFont(new Font("宋体", Font.BOLD, 30));
jTextField.setEditable(false);
jTextField.setBounds(new Rectangle(5, 5, 575, 30));
jTextField.setHorizontalAlignment(JTextField.RIGHT);设置文本的水平
JAVA实现计算器课程设计 计算机科学系 计应0701班 指导老师:刘其昌 设计人员:陈秀桃 设计日期:2009年11月10日——2009年12月20日 计算器的设计 目录 第一章绪 论 ..................................................................... .. (2)
1.1 开发环 境 ..................................................................... . (2) 1.2 基本功能介 绍 ..................................................................... ......... 2 第二章系统设 计 ..................................................................... (3) 2.1 系统流程 图 ..................................................................... . (3) 2.2 系统功能框 图 ..................................................................... (3) 2.3 需求分 析 ..................................................................... ................ 4 第三章软件设 计 ..................................................................... (5) 3.1 界面设 计 ..................................................................... . (5) 3.2 代码设 计 .....................................................................
计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:
1.计算流程的细化 参考代码: import .*;
import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.util.Vector; public class Tuo { String str1="0"; //运算数1 初值一定为0 为了程序的安全 String str2="0"; //运算数2 String fh="+"; //运算符 String jg="";//结果 //状态开关重要 int k1=1;//开关1 用于选择输入方向将要写入str2或 str2 int k2=1;//开关2 符号键次数 k2>1说明进行的是2+3-9+8 这样的多符号运算 int k3=1;//开关3 str1 是否可以被清0 ==1时可以 !=1时不能被清0 int k4=1;//开关4 str2 同上 int k5=1;//开关5 控制小数点可否被录入 ==1时可以 !=1 输入的小数点被丢掉 JButton jicunqi; //寄存器记录是否连续按下符号键 Vector vt=new Vector(20,10); JFrame frame=new JFrame("sunshine---计算器"); JTextField jg_TextField=new JTextField(jg,20);//20列 JButton clear_Button=new JButton("清除"); JButton button0=new JButton("0"); JButton button1=new JButton("1"); JButton button2=new JButton("2"); JButton button3=new JButton("3"); JButton button4=new JButton("4"); JButton button5=new JButton("5"); JButton button6=new JButton("6"); JButton button7=new JButton("7"); JButton button8=new JButton("8"); JButton button9=new JButton("9"); JButton button_Dian=new JButton("."); JButton button_jia=new JButton("+"); JButton button_jian=new JButton("-"); JButton button_cheng=new JButton("*"); JButton button_chu=new JButton("/"); JButton button_dy=new JButton("="); //////////////////////////////////////////////////////////////////////// public static void main(String[] args) {
题目:设计一个Windows计算器。 摘要 在当今这个网络的时代,我找了好多java的代码材料。修改后程序是一个图形界面的java计算器,其界面主要采用了awt包,程序实现了: (1)实现简单加、减、乘、除的运算。 (2)实现除了加、减、乘、除按钮外其他按钮功能。 (3)给软件添加一个编辑、查看、帮助的主菜单。 (4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。 (5)科学型计算器与标准计算器之间的菜单切换。 关键字:java程序编辑器面向对象计算器 目录 第1章概要设计 (8) 1.标准型计算器界面设计 (8) 第2章程序整体设计说明 (10) 2.1程序中所用到的变量 (10) 2.2程序部分源代码及注释 (11) 3章程序运行效果 (22) 3.程序运行主界面 (22) 3.程序中各按钮运行界面 (24) 3.本章小节 (26) 作业结论 (26) 第1章概要设计 1.1标准型计算器界面设计 1.1.1 JAVA文件的建立 (1)建立一个名称为“java”Java工程, package文件包名称为 :scr;计算器主类:Calculator。 (2)界面的设计:
图1.1标准型计算器界面 图 1.2 图1.3 (3)保持代码简洁 复杂代码写后不易理解,在修改和重写上难度比较大,使工作更加复杂,所以编写代码时应保持代码的简洁易懂。 数字按钮字体和颜色设置 功能按钮字体和颜色设置
(4)功能实现 在整个设计中要保持完整性,能够实现计算器中最基本的功能,如加、减、乘、除等。 1.1.2明确任务 用java编写一个简单的计算器,使其能够实现最基本的功能,如简单的加、减、乘、除;平方根,倒数,余数,三角函数,多数连续运算,科学计数法等功能。 第2章程序整体设计说明 2.2 程序部分源代码及注释 (1)复制菜单的功能创建代码如下: (2)粘贴菜单的功能创建代码如下:
科学计算器程序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;
import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.wendangku.net/doc/1310359081.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);
简单计算器代码 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”
计算器布局显示: 功能举例: ①13+20=33 ②-7*14=-98:先输入7,再单击-/+将其变成负数,然后依次单击×号、14与= ③7!=5040 ④sin30°=0.5:先输入30,然后按下′″按钮转换成角度值,再按下sin即可显示结果 ⑤sqrt(4)=2:利用鼠标点击4后再点击sqrt按键即可显示结果 ⑥2*π=6.2832 …… 源程序如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField;
package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();
Java课程设计 设计题目模拟科学计算器 班级计本1120班 姓名王XX 学号 1162042000
一、设计目的 《Java课程设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高自身的应用能力。 二、设计任务 模拟科学计算器 要求:界面模拟Windows中的计算器程序。 实现基本数学运算、函数等功能:加、减、乘、除、阶乘、正弦、余弦和指数运算。 实现要点:添加相关组件并进行按钮事件处理。 三、课题设计思想 对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框,22个按钮,总体界面用BorderLayout布局。 文本框放置在最north,然后0到9以及+,-,×,÷,.,!的按钮放置到一个面板Panel中,添加到整体布局的center,最后sin,cos,^,=的按钮放在最south,界面设计完成。 本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和
运算符键就能进行加、减、乘、除阶乘、正弦、余弦和指数运算。还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以按Clear撤销后重新输入新数据。 四、设计内容 1.需求分析 本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其他的辅助功能(阶乘、正弦、余弦、指数运算);界面简洁实用,模拟Windows中的计算器程序,要提供主要的设计思路、类的设计。 2.总体设计 (1)包的描述 本程序导入了 java.awt.BorderLayout包, java.awt.Color包, java.awt.GridLayout包, java.awt.event.ActionEvent包, java.awt.event.ActionListener包, java.text.DecimalFormat包, javax.swing.JButton包, javax.swing.JFrame包, javax.swing.JPanel包, javax.swing.JTextField包
保存计算过程的计算器 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计算器源代码(仿win7) import java.awt.*; import javax.swing.*; import java.awt.event.*; class Cal extends JFrame implements ActionListener,MouseListener{ JMenuBar menubar; JMenu menu_check,menu_edit,menu_help; JMenuItem menuitem_science,menuitem_check,menuitem_exit,menuitem_copy, menuitem_paste,menuitem1_copy,menuitem1_paste,menuitem_chelp,menuitem_about; JCheckBoxMenuItem menuitem_standard; JTextField ta1; int x,result2; double op1,op2,opall; private boolean end=false,flag=false,add=false,sub=false,cheng=false,chu=false,flagop2=false; JButton b_mc,b_mr,b_ms,b_mjia,b_mjian,b_tui,b_ce,b_c,b_jj, b_dui,b_7,b_8,b_9,b_chu,b_baifenhao,b_4,b_5,b_6,b_cheng, b_daoshu,b_1,b_2,b_3,b_jian,b_0,b_dian,b_jia,b_dengyu; JPanel p_all,p_button1,p_button2,p_txt,p1,p2,p3,p4,p5; private String str,resultstr;
实训名称: 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)支持复制和粘贴操作
import javax.swing.*;// 把 javax包里面的swing包里面的所有东西引进来 import java.awt.*;// 导入awt包里的所有java类 import java.awt.event.*;//导入包event import java.text.DecimalFormat;// 处理文本、日期、数字和消息的类和接口 import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.awt.BasicStroke; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.Point2D; public class biaozhunjisuanqi extends JFrame implements ActionListener {// public代表该类公有 //class声明一个类 // biaozhunjisuanqi为类名 // extends 是继承类 //implements代表实现接口 //窗体名称biaozhunjisuanqi继承JFrame类和ActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法 private static final long serialVersionUID = 1L;// serialVersionUID相当于java类的身份证, 默认为1L, serialVersionUID作用是序列化时保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性 private JPanel jContentPane = null; // 创建面板对象, null代表为这些变量赋初值为空,即不分配内存空间,变量不指向任何地址。private是访问控制符,代表这些变量的访问级别为私有,私有级别只能在当前类中进行访问, 这些(JPanel 、JTextArea 、JPanel、 JButton )是java中AWT(包)中的类,用能进行桌面级应用程序的开发,就像平时用的word,上面有各种文本框,菜单栏,工具栏按钮等等,这些都是对象 private JPanel jPanel= null; //JPanel 作为一个容器,可以包容一些组件,然后将这个 JPanel
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语言程序设计题目简单计算器设计 分院电信分院 专业班级12通信工程1班学号212 学生姓名 指导教师 2014 年6 月20日
java课设计算器 目录 第1章计算器机要求及内 容 (3) 第2章计算器设计............................................................. 4 第3章计算器程序代码 (14) 第4章计算器测试............................................................. 49 第5章课程设计心 得 (53) 第6章参考文献.............................................................. ....54第1章计算器内容及要求 一设计内容: 1. 实现基本的加减乘除法的运算; 2 实现常用的函数计算功能;
3. 实现将系统时间在界面上显示; 4. 实现菜单对计算器的关闭、开启及设置运算法则的操作。 二设计要求 1.使用菜单控制计算器界面的显示,关闭; 2.使用菜单控制运算的法则; 3.使用菜单显示函数运算窗口及运算; 4.数据采用手工输入方式; 5.对异常的数据进行异常处理,比如1/0的情况。
第2章计算器设计 一.设计模式 采用MVC设计模式,将模型,视图,控制分别单独完成。在模型中将视图,控制添加到其中,再分别完成视图的,控制的程序。 二.结构设计 在界面中分为四个视图的组件,控制分为按钮事件,菜单选择事件,以及键盘输入控制事件。如图1 图1
import class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel(); JButton btBk = new JButton(" Backspace"); JButton btCe = new JButton("Ce"); JButton btCl = new JButton("C"); JButton bt7 = new JButton("7"); JButton bt8 = new JButton("8"); JButton bt9 = new JButton("9"); JButton btDiv = new JButton("/"); JButton btSqrt = new JButton("sqrt"); JButton bt4 = new JButton("4"); JButton bt5 = new JButton("5"); JButton bt6 = new JButton("6"); JButton btMult = new JButton("*"); JButton btMol = new JButton(" % "); JButton bt1 = new JButton("1"); JButton bt2 = new JButton("2"); JButton bt3 = new JButton("3"); JButton btMinu = new JButton("-"); JButton btCoun = new JButton(" 1/x");
package calcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { “=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;“=”,注册事件监听器,设置1行3列的布局,添加到到西边的面板buttonzero=new JButton("0"); buttondot=new JButton("."); buttonequal=new JButton("="); (h); (h); (h); (new GridLayout(3,1)); (buttonzero); (buttondot); (buttonequal); ; }
if()==buttontozero){//归零操作 (""); } if()==buttonzero){//按键0操作 ()+"0"); flag1=());//将文本区域转换成Double类型,赋给flag1 } } else if()==buttontwo){//按键2操作 ()+"2"); flag1=()); } else if()==buttonthree){//按键3操作 ()+"3"); flag1=()); } else if()==buttonfour){//按键4操作 ()+"4"); flag1=()); } else if()==buttonfive){//按键5操作
】 · ( 华东交通大学课程设计 课 程: Java 程序设计 题 目: 计算器设计 年 级: 2010级 专 业: 信息一班 * 学 号: 姓 名: 组 员: 指导教师: 课程设计题目:计算器设计
课程设计(论文)任务书 基础学院信息与计算科学专业2010—1 班 一、课程设计(论文)题目计算器的设计 二、课程设计(论文)工作自2013 年 6 月23日起至2013 年6月27日止。 三、课程设计(论文) 地点: 计算机中心 · 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握系统各功能模块的基本工作原理; (2)掌握Java的基本编程原理和基本的编程方法; (3)使学生学会系统调试; (4)培养学生分析、解决问题的能力; (5)提高学生的软件文档写作能力和团队合作精神。 2.课程设计的任务及要求 ' 1)基本要求: (1)分析系统各功能模块的工作原理; (2)提出系统的设计方案; (3)对所进行编程、调试、修改。 2)创新要求: 在基本要求达到后,可进行创新设计,如:用虚函数,文件流,重载流插入运算符等。3)课程设计论文编写要求 (1)要按照书稿的规格打印誊写设计论文; > (2)论文包括目录、摘要、正文、总结等; (3)毕业论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分; (2)能正确回答老师所提问题,可增加10分; (3)课程设计报告书写规范整齐,可增加10分; (4)心得体会认真总结,可增加10分; (5)程序有创新性,可增加10分; [ 成绩评定实行优秀、良好、中等、及格和不及格五个等级。不及格者需重做。 5)参考文献:
《面向对象程序设计》 课程设计报告 题目: 计算器设计与实现 专业: 班级: 姓名: 指导教师: 成绩: 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 功能需求 在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时没有计算器就会显得很麻烦。为了解决日常生活中的困难,特意设计了这个计算器系统。在该系统中不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮点数的加、减、乘、除等运算。除此之外还可以进行三角函数、指数、对数、平方等运算。人们应用它可以解决日常生活中的一些运算问题,比如做买卖时进行交易的过程中就可以利用该计算器进行数量、价格以及金额的统计计算。学生也可以利用该计算器进行数学运算,解决简单的三角函数运算。