JAVA小应用程序Applet设计(计算器)实验报告(附代码)

. word教育资料 小应用程序Applet设计 一、 课题内容和要求 内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。 要求:要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVA Applet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。 二、设计思路分析 class App:一个Java Applet计算器的主类 public void init():完成初始化applet public boolean action():实现事件处理的方法 public void doOperator():运算及运算结果输出操作 public void doForeScreen():数字和小数点输出到文本框操作 public void doClear():清空操作 三、概要设计 public class App extends Applet { TextField tfAnswer; Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9; Button bPoint, bEqual, bPlus, bMinus, bClear, bMulti, bDivision; String OperatorCurrent, OperatorPre; String ForeScreen, BackScreen; boolean isFloat = false; . word教育资料 public void init(); public boolean action(Event e, Object o); public void doOperator() public void doForeScreen(String s); public void doClear(); } 事件处理:

运算及运算结果输出: 四、详细设计 Java代码: import java.awt.*; . word教育资料 import java.applet.*; public class App extends Applet { TextField tfAnswer;// 定义变量 Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9; Button bPoint, bEqual, bPlus, bMinus, bClear, bMulti, bDivision; String OperatorCurrent, OperatorPre; String ForeScreen, BackScreen; boolean isFloat = false;

public void init() {// 初始化 OperatorCurrent = new String(""); OperatorPre = new String(""); ForeScreen = new String("0");// 保证输入字符串不为空防止计算错误 BackScreen = new String(""); setBackground(Color.gray); setLayout(null);// 设为空布局便于自定义组件位置 tfAnswer = new TextField();// 设置文本框样式 tfAnswer.setBounds(20, 20, 175, 40); tfAnswer.setFont(new Font(BackScreen, Font.BOLD, 28)); add(tfAnswer); tfAnswer.setText(ForeScreen); bClear = new Button("C");// 设置按钮样式 bClear.setBounds(20, 70, 40, 40); add(bClear);

bDivision = new Button("/"); bDivision.setBackground(Color.green); bDivision.setBounds(65, 70, 40, 40); add(bDivision);

bMulti = new Button("*"); bMulti.setBackground(Color.green); bMulti.setBounds(110, 70, 40, 40); add(bMulti);

bMinus = new Button("-"); bMinus.setBackground(Color.green); bMinus.setBounds(155, 70, 40, 40); add(bMinus);

b7 = new Button("7"); b7.setBounds(20, 115, 40, 40); b7.setBackground(Color.orange); . word教育资料 add(b7); b8 = new Button("8"); b8.setBackground(Color.orange); b8.setBounds(65, 115, 40, 40); add(b8); b9 = new Button("9"); b9.setBackground(Color.orange); b9.setBounds(110, 115, 40, 40); add(b9);

bPlus = new Button("+"); bPlus.setBackground(Color.green); bPlus.setBounds(155, 115, 40, 85); add(bPlus);

b4 = new Button("4"); b4.setBackground(Color.orange); b4.setBounds(20, 160, 40, 40); add(b4); b5 = new Button("5"); b5.setBackground(Color.orange); b5.setBounds(65, 160, 40, 40); add(b5); b6 = new Button("6"); b6.setBackground(Color.orange); b6.setBounds(110, 160, 40, 40); add(b6);

b1 = new Button("1"); b1.setBackground(Color.orange); b1.setBounds(20, 205, 40, 40); add(b1); b2 = new Button("2"); b2.setBackground(Color.orange); b2.setBounds(65, 205, 40, 40); add(b2); b3 = new Button("3"); b3.setBackground(Color.orange); b3.setBounds(110, 205, 40, 40); add(b3);

bEqual = new Button("="); bEqual.setBackground(Color.green); bEqual.setBounds(155, 205, 40, 85); . word教育资料 add(bEqual); b0 = new Button("0"); b0.setBackground(Color.orange); b0.setBounds(20, 250, 85, 40); add(b0); bPoint = new Button("."); bPoint.setBackground(Color.orange); bPoint.setBounds(110, 250, 40, 40); add(bPoint); }

public boolean action(Event e, Object o) {// 实现事件处理的方法 String s = new String(""); if ((e.target == b0) || (e.target == b1) || (e.target == b2) || (e.target == b3) || (e.target == b4) || (e.target == b5) || (e.target == b6) || (e.target == b7) || (e.target == b8) || (e.target == b9)) {// 获取数字按钮数据并在控制台和文本框输出 if (e.target != bPoint) {// 获取数字 s = (String) o; doForeScreen(s);

} } if ((e.target == bPoint) && !ForeScreen.contains(".")) {// 保证原数不含小数点的情况下获取小数点并在控制台和文本框输出 s = (String) o; if (ForeScreen.equals(""))// 原来没有输入数据则用0. { doForeScreen("0.");

} else// 原来有输入数据则用. { doForeScreen(s);

} }

if (e.target == bClear) {// 清除按钮进行清除操作 doClear(); } if ((e.target == bMulti) || (e.target == bDivision) || (e.target == bPlus) || (e.target == bMinus) || (e.target == bEqual)) {// 加减乘除等于按钮获取运算操作符并进行

合集下载

java计算器设计报告

java计算器设计报告

摘要本计算器是由java语言所编程设计的标准计算器,可以进行十进制下的四则运算(加、减、乘、除)、开平方、求余、求倒数,还可以实现二进制与十进制之间的转换。

通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。

关键词: java语言,计算器,算法目录摘要 (1)1概述 (3)设计目的及思路 (3)功能模块设计 (3)系统功能图 (3)2计算器的设计与实现 (4)程序界面 (4)程序源代码 (4)3计算器演示 (10)4运行调试及讨论分析 (13)5小结 (14)参考文献: (14)1概述设计目的及思路通过本课程设计使学生能够较全面的掌握面向对象程序设计的有关概念和开发方法,以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力。

利用Java Applet图形界面首先开始设计一个计算器的界面,定义计算器所需要的按钮并赋给其按钮名称,使得使用计算器时简单明了,清晰可见,操作轻松。

给各个按钮进行算法,利用鼠标点击事件,当鼠标点击某个按钮时就开始执行那个按钮所定义的算法,生成数据并显示。

除数字的输入为直接进行输入外,其他运算例如+、-、*、/、开平方等算法要求计算时通过内部较为复杂的运算将结果显示在显示屏上。

至于其中的进制转换功能的实现则是直接调用Java中进制转换的函数,例如要将十进制转换成二进制则可直接调用函数Integer.toBinaryString(int i)来实现,充分显示了Java语言的简洁性和Java语言功能的强大性。

当然了在输入数据时还要进行异常捕捉,防止越界的现象的发生,这也是Java语言健壮性的体现!功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。

(2)减法两个数据进行减操作,可以为负数相减。

(3)乘法两个数相乘操作。

(4)除法两个数相除操作。

(5)开平方对任意一个数进行开方运算,可以是小数。

java计算器实验报告

java计算器实验报告

广东海洋大学学生实验报告书(学生用表)实验名称JAVA计算器程序设计课程名称JAVA程序设计课程号学院(系)专业班级学生姓名学号实验地点完成日期GDOU-B-11-112实验JAVA计算器程序设计1) 实验总结:刚做之前,勉强还能做些小程序,但在进行了计算器程序设计的时候,才发现很多语句还不能联系运用,大部分还是通过百度和书籍才勉勉强强完成,看来实践才是硬道理2) 实验目的通过计算器程序设计,能够更加深入的了解JAVA,熟悉图形用户的设计原理和程序结构等4)实验内容和步骤实验内容应用JAVA软件设计一个简易的计算器,实现基本的四则运算及括号设计流程1. 分析该计算器需要完成的功能。

用户能够完成添加括号和负号的四则混合运算,并且计算器能够自动识别运算符的优先级,根据用户输入的运算表达式,自动计算出相应的结果。

同时还完成了计算器中C按钮清屏功能和Backspace退格键。

2. 考虑异常处理。

(1)当输入的表达式中出现除零的操作,显示框将显示“Infinity(无穷大)”。

(2)当输入的表达式错误时,将弹出提示框显示“表达式错误请重新输入”(3)当计算器的显示文本框里为没有输入内容时直接点击等号按钮,将弹出提示框显示“对不起,您没有任何输入,请重新输入:”。

(4)当第一次输入乘号键,除号键,右括号,小数点,求余键,等号键,ce键,Backspace键时提示错误。

4. 考虑数据的处理目标计算表达式通过点击计算器界面上的按钮进行输入,当按下等号之后,计算器通过调用JAVA中script这个包中的相关类和方法来实现数据的处理。

5. 编码实现计算器的功能。

(1)新建相关的文件。

(2)引入JAVA中相关的包。

(3)新建类Jsq,并继承了类Frame,而且实现了接口ActionListener (4)定义相关的变量,创建相关组件,并对组件的属性进行设置。

(5)对所创建的组件进行布局,完成界面的实现。

(6)为各个组件添加事件监听器。

Java计算器实验报告

Java计算器实验报告

一、目標:通過Java程序開發實訓使學生掌握《面向對象程序設計(Java)》課堂講授の內容,靈活運用到Java程序の開發與設計中。

二、要求:按時參加Java程序開發實訓訓練,不得遲到和早退;獨立完成程序設計;按要求撰寫實踐報告。

三、詳細內容:使用《面向對象程序設計(Java)》課程講授內容,編寫一個簡單の計算器,要求實現如下功能:1.進行圖形界面設計通過圖形界面設計,掌握Frame類、Panel類、5種布局管理器、文本框、標簽及按鈕の使用方法。

2.實現計算器の基本功能包括加減乘除四則運算、清除結果等功能。

3.實現計算器の存儲計算功能包括清空、使用清零、退格。

和基本運算4.類の屬性及所用到の方法布局布局:整個界面(Frame)采用BorderLayout布局P1組件添加到Frameの南部P1采用默認の流式布局添加文本框P2組件添加到Frameの中部P2采用網格布局四行五列放各種按鈕用到の類:mycalKeyAdapterWindowAdapterMyCal類:mycal類の屬性:b[];按鈕數組保存各種按鍵以後放到Panel2中tf;文本匡顯示輸入及運算結果num1,num2,jieguo運算數char c,ch;運算符號,ch為輸入の運算符號,c保存ch輸入の“+-*/”Panel p1,p2;//兩個組件p1放文本匡p2放按鈕P2の布局為網格布局5行4列mycal類の方法:1.構造方法:設置標題;設置文本框;文本框中添加匿名內置類(KeyAdapter)實現鍵盤の輸入和運算;將各種組件添加到容器,設置各種按鍵の顏色;添加WindowListenr監聽器設置關閉按鈕;2.Main方法:新建一個mycal類;4.actionPerformed 方法:設置按鈕の輸入和運算,當按下運算數將其顯示在文本匡中如果之前清零則將零去除當按下運算符將其保存在c中並將文本匡內容清空當按下等號判斷字符cの符號進行相應の運算並將結果顯示在文本框中。

java计算器实验报告

java计算器实验报告

课程设计论文设计题目:java计算器学生:指导教师:专业名称:所在院系:摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。

该程序是一个图形界面的java 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。

(2)实现除了加、减、乘、除按钮外其他按钮功能。

(3)给软件添加一个编辑、查看、帮助的主菜单。

(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。

(5)科学型计算器与标准计算器之间的菜单切换。

Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。

在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

目录第1章概要设计 (1)1.1查找资料 (1)1.2选题 (1)1.3标准型计算器界面设计 (1)1.4本章小节 (3)第2章程序整体设计说明 (4)2.1程序中所用到的变量 (4)2.2程序部分源代码及注释 (4)2.3本章小节 (15)第3章程序运行效果 (16)3.1程序运行主界面 (16)3.2程序中各按钮运行界面 (16)3.3本章小节 (20)第4章设计中遇到的重点及难点 (21)4.1设计中遇到的重点 (21)4.2设计中的遇到的难点 (21)4.3本章小节 (23)第5章本次设计中存在不足与改良方案 (24)5.1本次设计中存在的不足 (24)5.2本次设计的改良方案 (24)5.3本章小节 (24)结论 (25)参考文献 (26)致 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。

JAVA课程设计 计算器小程序报告

JAVA课程设计    计算器小程序报告
1.2 课程设计的主要思想
首先要设计一个登录界面,必须输入密码并正确才能进入到计算器界面; 对于此计算器程序,要设计其 GUI 界面,总体界面有一个文本框,18 个按钮, 总体界面用 BorderLayout 布局。 文本框放置在最 NORTH,然后 0 到 9 以及+,-,*,/的按钮放置到一个面板 Panel 中,添加到整体布局的 CENTER,界面设计完成。 布局设计好后再添加按钮事件。对于此程序要考虑到点击加、减、乘、除按 钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点 击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把 文本框中的内容加上你所点击按钮的数值设置到文本框中。 在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值保存 下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、除。 最后还需要一个退出界面。 重要的是必须把三个界面的代码放在同一个包里。
4
2.需求分析
2.1 功能需求分析
在日常生活中经常需要用到计算器,比如科学计算、数值计算、 会计业务等,在 Applet 中实现一个精巧实用的计算器,可以让用户 在使用网站服务的同时,可以很方便地进行数据运算,可增加页面的 实用性,同时让用户的操作也更方便与快捷。本项目需要实现一个用 Java 中的类、对象、继承、方法等概念以及 awt 主键和 Applet 的基 本框架和事件处理的方法。简单的四则运算的计算器,拥有加、减、 乘、除功能,除此之外要三个界面即:登录面,计算器主界面,退出 界面,要剧本的功能就是点击登录界面可以前往计算器主界面,退出 可以到达退出界面。
3
1.课程设计概述
1.1 利用 java 编写计算器,使之具备一定的功能:
(1)使用图形用户界面:一个文本框;0-9 数字按钮;加、减、乘、除运 算符;“等于”符号;复位按钮; (2)完成整数、实数的四则运算(加、减、乘、除); (3)通过按钮点击实现数据的复位(清零); (4)实数运算中小数位的精度一致。

JAVA课程设计----计算器小程序报告共13页文档

JAVA课程设计----计算器小程序报告共13页文档

#####学院JA V A语言课程设计报告小程序计算器系统管理班级:#######姓名:###指导老师:###时间:2012年6月25日至6月29日目录1、课程设计概述--------------------------------------------------31.1利用java编写计算器,使之具备一定的功能:-----------------31.2 课程设计的主要思想--------------------------------------------------31.3 该项目设计的目的-----------------------------------------------------32、需求分析方案--------------------------------------------------42.1功能需求分析-----------------------------------------------42.2 性能需求分析-----------------------------------------------43、总体设计方案--------------------------------------------------53.1界面设计----------------------------------------------------------------------53.2功能介绍-----------------------------------------------------------------------54、详细说明、调试---------------------------------------------64.1程序流程图-------------------------------------------------------64.2部分代码说明-----------------------------------------------------64.3程序调试与结果示例-------------------------------------------85、个人总结-----------------------------------------------------106、附录(代码)-----------------------------------------------116.1登陆界面代码--------------------------------------------116.2计算器主界面--------------------------------------------126.3 退出界面代码-------------------------------------------151.课程设计概述1.1利用java编写计算器,使之具备一定的功能:(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除);(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。

java applet实现加减乘除计数器

1.整数计数器。

编写一个小应用程序,要求该小应用程序能够接受整数的输入,并能进行整数的加减乘除运算。

import java.awt.FlowLayout;import java.awt.Container;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JApplet;import javax.swing.JButton;import javax.swing.JTextField;import javax.swing.JComboBox;public class calcu extends JApplet implements ActionListener{JTextField []a={new JTextField(2),new JTextField(2),new JTextField(2)};String []s={" + "," - "," * "," / "};JComboBox cb=new JComboBox(s);public void init(){Container c=getContentPane();c.setLayout(new FlowLayout());a[0].setEditable(true);a[1].setEditable(true);JButton k=new JButton("=");c.add(a[0]);int n=4;for(int i=0;i<n-1;i++){c.add(cb);}c.add(a[1]);c.add(k);c.add(a[2]);k.addActionListener(this);}public void actionPerformed(ActionEvent e){switch(cb.getSelectedIndex()){case 0:a[2].setText( Integer.parseInt(a[0].getText())+ Integer.parseInt(a[1].getText())+"" );break;case 1:a[2].setText( Integer.parseInt(a[0].getText())- Integer.parseInt(a[1].getText())+"" );break;case 2:a[2].setText( Integer.parseInt(a[0].getText())* Integer.parseInt(a[1].getText())+"" );break;case 3:a[2].setText( Integer.parseInt(a[0].getText())/ Integer.parseInt(a[1].getText())+"" );break;}}}<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="Generator" content="EditPlus®"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>计数器</title></head><body><applet code="calcu.class" width=200 height=150></applet><br></body></html>程序结果:。

Java程序设计计算器实验报告


长江大学工程技术学院实验报告
通信 61302 胡炯
} else if (operator.equals("-")) { // 减法运算 resultNum -= getNumberFromText(); } else if (operator.equals("*")) { // 乘法运算 resultNum *= getNumberFromText(); } else if (operator.equals("sqrt")) { // 平方根运算 resultNum = Math.sqrt(resultNum); } else if (operator.equals("%")) { // 百分号运算,除以 100 resultNum = resultNum / 100; } else if (operator.equals("+/-")) { // 正数负数运算 resultNum = resultNum * (-1); } else if (operator.equals("=")) { // 赋值运算 resultNum = getNumberFromText(); } if (operateValidFlag) { // 双精度浮点数的运算 long t1; double t2; t1 = (long) resultNum; t2 = resultNum - t1; if (t2 == 0) { resultText.setText(String.valueOf(t1)); } else { resultText.setText(String.valueOf(resultNum)); } } (2)主要功能过程说明 1 构造函数 2 初始化计算器 3 处理事件 4 处理 Backspace 键被按下的事件 5 处理数字键被按下的事件 6 处理 C 键被按下的事件 7 处理运算符键被按下的事件 8 从结果文本框中获取数字 (3)功能流程图

java 计算器课程设计报告包含代码

课题名称:简单计算器的应用学生指导教师课题名称简单计算器的应用设计时间设计地点设计目的一、课题介绍1、课题要求(1)使用图形用户界面:一个文本框;0-9数字按钮;加、减、乘、除运算符;“等于”符号;复位按钮;(2)完成整数、实数的四则运算(加、减、乘、除);(3)通过按钮点击实现数据的复位(清零);(4)实数运算中小数位的精度一致。

2、课题设计思想对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框,18个按钮,总体界面用BorderLayout布局。

文本框放置在最NORTH,然后0到9以及+,-,*,/的按钮放置到一个面板Panel中,添加到整体布局的CENTER,界面设计完成。

布局设计好后再添加按钮事件。

对于此程序要考虑到点击加、减、乘、除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中,否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。

这是计算器中的一种:简单计算器,本项目用到了Java中的GUI界面和swing组件以及awt布局,所以简单易用,它能完成如下的几个小功能:点击按钮中的数字键和运算符键就能进行简单的加、乘、乘、除求模四则运算;还能通过用户自己在文本框中输入数字,进行简单运算;如果输入有误时可以按Clear撤销后重新输入新数据。

二、详细设计过程1、界面设计界面设计要求用GUI,界面设计中有用到swing组件的TextField和Button,用awt中的BorderLayout和GridLayout布局管理方式,窗体名称jisuan继承JFrameActionListener接口,并实现public void actionPerformed(ActionEvent e){}方法。

定义菜单、菜单条、菜单项、按钮、文本框、容器,设置为private类型。

定义变量double memoryd;//使用内存中存储的数字;DecimalFormat df;//保留小数位数。

(完整word版)Java计算器实验报告

一、目标:通过Java程序开发实训使学生掌握《面向对象程序设计(Java)》课堂讲授的内容,灵活运用到Java程序的开发与设计中。

二、要求:按时参加Java程序开发实训训练,不得迟到和早退;独立完成程序设计;按要求撰写实践报告。

三、详细内容:使用《面向对象程序设计(Java)》课程讲授内容,编写一个简单的计算器,要求实现如下功能:1.进行图形界面设计通过图形界面设计,掌握JFrame类、JPanel类、5种布局管理器、文本框、标签及按钮的使用方法。

2.实现计算器的基本功能包括加减乘除四则运算、倒数、平方根及清除结果等功能。

3.实现计算器的存储计算功能包括存储中间结果(MS)、使用中间结果(MR)、累加中间结果(M+)及清除中间结果(MC)的功能。

4.计算器的扩展功能包括乘方、对数、正弦、余弦、正切、余切、反正弦、反余弦、反正切、反余切及2进制、8进制、16进制、10进制之间的相互转换等功能.四、源代码import java。

awt.BorderLayout;import java.awt.Color;import java。

awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java。

awt.event.ActionListener;import java.awt。

event。

KeyEvent;import java.text.DecimalFormat;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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档