JAVA课程设计计算器 下载本文

内容发布更新时间 : 2024/5/18 9:18:47星期一 下面是文章的全部内容请认真阅读。

(3)乘方取余法流程

三、系统运行结果(截图)

1、主菜单

将S添加到show文本框 Y 执行乘方、取余法运算得Mun1是否存在 N 将S添加到show文本框

四、课程设计总结

通过此次课程设计,使我更加扎实的掌握了有关JAVA图形界面布局等方面的知识,虽然在设计过程中也遇到了很多问题,但经过一次又一次的思考,一遍又一遍检查和反复修改终于找到了原因所在,也暴露了前期我在这方面的知识欠缺。课程设计是一种实践活动,不但可以提升专业知识和专业能力,也培养了我们独立思考,动手操作的能力,使我对抽象的知识有了具体的认识。这对于我们的将来也有很大的帮助。此次课程设计也让我明白没有最完善的程序代码,只有不断地改善才能使程序变得更完美,同时也增强了我对JAVA的兴趣,相信继续保持下去对JAVA的理解一定会更上一层楼。

附录:程序源码

import java.awt.BorderLayout; import java.awt.Color; 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.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JSeparator; import javax.swing.JTextField;

public class Calculator extends JFrame implements ActionListener {

JMenuBar jmb; JMenu jm1,jm2,jm3; JMenuItem jmi;

/** 计算器上的键的显示名字 */

private final String[] KEYS = { \, \, \, \, \, \, \, \,

\, \, \, \, \, \, \, \, \, \, \, \ }; /** 计算器上的功能键的显示名字 */

private final String[] COMMAND = { \, \, \ };

/** 计算器上键的按钮 */

private JButton keys[] = new JButton[KEYS.length];

/** 计算器上的功能键的按钮 */

private JButton commands[] = new JButton[COMMAND.length]; /** 计算器左边的M的按钮 */

/** 计算结果文本框 */

private JTextField resultText = new JTextField(\);

// 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字 private boolean firstDigit = true; // 计算的中间结果。

private double resultNum = 0.0; // 当前运算的运算符

private String operator = \;

// 操作是否合法

private boolean operateValidFlag = true; /** * 构造函数

*/

public Calculator() { super();

JMenuBar jmb=new JMenuBar();

this.setJMenuBar(jmb);

JMenu jm=new JMenu(\编辑(E)\); jmb.add(jm);

jmi= new JMenuItem(\复制(c) Ctrl+c\); jm.add(jmi);

jmi= new JMenuItem(\粘贴(p) Ctrl+v\); jm.add(jmi);

jm2=new JMenu(\查看(v)\); jmb.add(jm2);

jmi= new JMenuItem(\标准型(T)\); jm2.add(jmi);

jmi= new JMenuItem(\科学型(S)\); jm2.add(jmi);

jm2.add(new JSeparator());

jmi= new JMenuItem(\数学分组(I)\); jm2.add(jmi);

jm3=new JMenu(\帮助(H)\); jmb.add(jm3);

jmi= new JMenuItem(\帮助主题(H)\); jm3.add(jmi);

jm3.add(new JSeparator());

jmi= new JMenuItem(\关于计算器(A)\); jm3.add(jmi);

// 初始化计算器 init();

// 设置计算器的背景颜色

this.setBackground(Color.LIGHT_GRAY); this.setTitle(\计算器\);

// 在屏幕(500, 300)坐标处显示计算器 this.setLocation(500, 300); // 不许修改计算器的大小

this.setResizable(false); // 使计算器中各组件大小合适 this.pack(); } /**

* 初始化计算器

*/

private void init() {

// 文本框中的内容采用右对齐方式

resultText.setHorizontalAlignment(JTextField.RIGHT); // 不允许修改结果文本框

resultText.setEditable(false);

// 设置文本框背景颜色为白色

resultText.setBackground(Color.WHITE);

// 初始化计算器上键的按钮,将键放在一个面板内 JPanel calckeysPanel = new JPanel();

// 用网格布局器,4行,5列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

calckeysPanel.setLayout(new GridLayout(4, 5, 3, 3)); for (int i = 0; i < KEYS.length; i++) { keys[i] = new JButton(KEYS[i]); calckeysPanel.add(keys[i]);

keys[i].setForeground(Color.blue); }

// 运算符键用红色标示,其他键用蓝色表示 keys[3].setForeground(Color.red); keys[8].setForeground(Color.red); keys[13].setForeground(Color.red); keys[18].setForeground(Color.red); keys[19].setForeground(Color.red);

// 初始化功能键,都用红色标示。将功能键放在一个面板内 JPanel commandsPanel = new JPanel();

// 用网格布局器,1行,3列的网格,网格之间的水平方向间隔为3个象素,垂直方向间隔为3个象素

commandsPanel.setLayout(new GridLayout(1, 3, 3, 3)); for (int i = 0; i < COMMAND.length; i++) { commands[i] = new JButton(COMMAND[i]); commandsPanel.add(commands[i]); commands[i].setForeground(Color.red); }

// 下面进行计算器的整体布局,将calckeys和command面板放在计算器的中下部

// 新建一个大的面板,将上面建立的command和calckeys面板放在该面板内 JPanel panel1 = new JPanel();

// 面板采用边界布局管理器,面板里组件之间的水平和垂直方向上间隔都为3象素 panel1.setLayout(new BorderLayout(3, 3));