java课程设计报告 计算器

合集下载

java计算器课程设计

java计算器课程设计

java计算器课程设计一、课程目标知识目标:1. 让学生掌握Java编程语言的基本语法,特别是运算符、表达式和流程控制的相关知识。

2. 使学生能够理解面向对象编程的基本概念,如类的定义、对象创建和使用。

3. 让学生学会运用Java编写简单的计算器程序,实现对基本数学运算(加、减、乘、除)的支持。

技能目标:1. 培养学生运用Java编写程序解决问题的能力,特别是针对计算器功能的实现。

2. 培养学生分析问题、设计算法、编写代码、调试程序的能力。

3. 提高学生团队协作和沟通能力,通过小组合作完成复杂的计算器功能设计。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣和热情,培养其探究精神。

2. 培养学生严谨、细致、负责任的科学态度,养成良好的编程习惯。

3. 培养学生面对挑战不畏难,勇于尝试,持续改进的良好品质。

课程性质:本课程为信息技术学科的计算器编程实践课程,结合了理论知识和实际操作,注重培养学生的动手能力和实际应用能力。

学生特点:学生处于初中或高中年级,已具备一定的计算机操作能力,对编程有一定了解,但实际编程经验较少。

教学要求:结合学生特点和课程性质,课程目标应具体、可衡量,注重实践操作,使学生在完成课程学习后能够独立编写简单的计算器程序。

在教学过程中,将目标分解为具体的学习成果,便于教学设计和评估。

二、教学内容1. Java基本语法:变量、数据类型、运算符、表达式。

- 课本章节:第2章 Java基本语法2. 面向对象基础:类的定义、构造方法、对象创建、成员变量和成员方法。

- 课本章节:第4章 面向对象编程基础3. 流程控制:顺序结构、选择结构、循环结构。

- 课本章节:第3章 流程控制4. 计算器功能实现:加、减、乘、除运算方法编写,异常处理。

- 课本章节:第6章 方法与递归、第7章 异常处理5. 图形用户界面设计:Swing图形界面编程,按钮、文本框组件应用。

- 课本章节:第9章 Java图形用户界面编程教学大纲:第1周:Java基本语法学习,完成相关练习题。

java计算器设计报告

java计算器设计报告

1
目录
摘要.............................................................................................................1 1 概述..........................................................................................................3
5
jButton4.addActionListener(this); pnl.add(jButton4); jButton5=new JButton("5"); jButton5.addActionListener(this); pnl.add(jButton5); jButton6=new JButton("6"); jButton6.addActionListener(this); pnl.add(jButton6); jButtonJIA=new JButton("+"); jButtonJIA.addActionListener(this); pnl.add(jButtonJIA); jButton7=new JButton("7"); jButton7.addActionListener(this); pnl.add(jButton7); jButton8=new JButton("8"); jButton8.addActionListener(this); pnl.add(jButton8); jButton9=new JButton("9"); jButton9.addActionListener(this); pnl.add(jButton9); jButtonJIAN=new JButton("-"); jButtonJIAN.addActionListener(this); pnl.add(jButtonJIAN); jButton0=new JButton("0"); jButton0.addActionListener(this); pnl.add(jButton0); jButtonQINGKONG=new JButton("清空"); jButtonQINGKONG.addActionListener(this); pnl.add(jButtonQINGKONG); jButtonCHENG=new JButton("*"); jButtonCHENG.addActionListener(this); pnl.add(jButtonCHENG); jButtonCHU=new JButton("/"); jButtonCHU.addActionListener(this); pnl.add(jButtonCHU); jButtonQUYU=new JButton("%"); jButtonQUYU.addActionListener(this); pnl.add(jButtonQUYU); jButtonPINGFANG=new JButton("平方"); jButtonPINGFANG.addActionListener(this); pnl.add(jButtonPINGFANG); jButtonXIAOSHUDIAN=new JButton("."); jButtonXIAOSHUDIAN.addActionListener(this); pnl.add(jButtonXIAOSHUDIAN);

java课程设计计算器

java课程设计计算器

java课程设计 计算器一、课程目标知识目标:1. 理解Java基本语法和程序结构,掌握算术表达式的编写;2. 掌握使用Java进行数值运算的方法,理解数据类型转换规则;3. 了解简单的异常处理机制,理解其与计算器程序的关系。

技能目标:1. 能够运用所学知识,独立编写一个具备基本功能的计算器程序;2. 学会使用Java控制台输入输出,实现用户与程序的交互;3. 能够通过调试和修改代码,解决计算器程序中的常见错误。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动探索和解决问题的热情;2. 培养学生的团队协作意识,使其学会在编程过程中互相帮助和分享经验;3. 培养学生的逻辑思维能力,提高其分析问题和解决问题的能力。

本课程针对具有一定Java基础的学生设计,结合计算器项目实践,旨在巩固和拓展所学知识,提高学生的编程能力和实际应用能力。

课程注重培养学生的动手实践能力,强调理论与实践相结合,使学生能够在实践中掌握Java编程技巧,培养良好的编程习惯。

通过本课程的学习,学生将能够独立完成一个简单的计算器程序,提高其在实际编程中的问题解决能力。

二、教学内容1. Java基本语法与程序结构复习(教材第3章)- 简单的变量声明与赋值- 基本算术运算符的使用- 程序的控制流程:顺序、分支(if-else)、循环(for、while)2. Java数据类型与运算(教材第4章)- 数据类型转换规则- 运算符优先级- 算术表达式编写3. Java控制台输入输出(教材第5章)- 使用Scanner类进行输入- 使用System.out.print和System.out.println进行输出4. 简单异常处理(教材第7章)- 异常的概念与分类- try-catch语句的使用- 异常处理在计算器程序中的应用5. 计算器程序设计实践- 设计计算器功能需求- 编写计算器程序代码- 调试与优化计算器程序教学内容安排与进度:第一课时:复习Java基本语法与程序结构,明确计算器项目需求第二课时:学习Java数据类型与运算,编写计算器核心算法第三课时:掌握Java控制台输入输出,实现计算器用户交互第四课时:了解简单异常处理,优化计算器程序第五课时:计算器程序设计实践,调试与改进教学内容注重理论与实践相结合,通过逐步引导,使学生能够将所学知识应用于计算器程序设计,提高编程实践能力。

Java课程设计报告计算器

Java课程设计报告计算器

Java课程设计报告-计算器第一部分设计的内容要求1.1 Windows自带计算器版面设计1.2计算器计算功能算法实现第二部分设计思想2.1根据图形用户界面设计方法设计计算器版面。

①容器类(窗口--Window类,面板--Panel类),框架类--Frame,Button类,Label类,TextField类等类的构造方法,菜单(菜单栏、菜单项)的建立于应用。

②事件处理机制:监听器类WinClose(),actionPerformed()。

2.2计算器计算功能实现,即按钮监听器的实现自定义变量:x,y为操作数,op为操作符。

根据单击按钮不同进行不同的操作,详见处理按钮单击事件方法actionPerformed(ActionEvent e)(计算功能算法)流程图。

第三部分详细设计3.2处理按钮单击事件方法actionPerformed(ActionEvent e)(计算器计算功能算法)流程图:第四部分运行效果图4.1运行初始图:4.2 计算功能测试图:-1+23.4 将textp中数据赋给yN Y单击”1”~”9”将单击数字插入到textp中数据后,并将textp中数据赋给y 将textp赋0,并str.stelength(0);结束4.2 数学分组功能测试图:第五部分心得与体会5.1 Java是一门实践性很强的编程语言,每学习到一个新的知识点应当及时动手编写程序,提高动手能力,加深对语言的理解。

5.2 根据Java图形用户界面设计方法设计计算器版面有很多种设计方法,学习过程中应灵活变通,使版面的设计更简单易懂。

5.3 本次设计的计算器还有不足之处,首先还没有实现科学型的计算功能,其次还没有键盘输入功能,因此还应继续努力,更加完善计算器的功能。

第六部分附录6.1计算器计算功能算法(按钮"="):if(e.getSource()==b26) // "="{str.setLength(0);switch(op){case 0 :if(flag==1)textp.setText(String.valueOf(x+y));else{str.setLength(0);str.append(x+y);fun();}break;case 1 :if(flag==1)textp.setText(String.valueOf(x-y)); else{str.setLength(0);str.append(x-y);fun();}break;case 2 :if(flag==1)textp.setText(String.valueOf(x*y)); else{str.setLength(0);str.append(x*y);fun();}break;case 3 :if(y==0){textp.setText("除数不能为零");str.setLength(0);y=0;}else{if(flag==1)textp.setText(String.valueOf(x/y)); else{str.setLength(0);str.append(x/y);fun();}}break;}}6.2 fun()函数(数学分组功能)public void fun(){flag=0;int t=0;StringBuffer temp;String sstr=str.toString();if(sstr.trim().indexOf("-")==1){temp=new StringBuffer(str.substring(1));t=1;}elsetemp=new StringBuffer(str.substring(0));if(sstr.trim().indexOf(".")==-1){int j=temp.length();for(int i=j;i>3;){temp.insert(i-3,",");i=i-3;}if(t==0)textp.setText(temp.toString());elsetextp.setText('-'+temp.toString());}else{int i=sstr.indexOf('.');StringBuffer s1=new StringBuffer(sstr.substring(0,i));StringBuffer s2=new StringBuffer(sstr.substring(i+1));for(int j=s1.length();j>3;){s1.insert(j-3,",");j=j-3;}if(t==0)textp.setText(s1.toString()+'.'+s2.toString());elsetextp.setText('-'+s1.toString()+'.'+s2.toString());}}。

java计算器设计报告

java计算器设计报告

设计报告课题名称:计算器设计学院:专业班级:学号:学生:指导教师:教务处年月日学生指导教师课题名称JAVA计算器课程设计设计时间设计地点设计目的图形界面设计,熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。

从而检测对这门课的掌握情况,有助于及时查漏补缺。

1.1功能模块设计以下为标准计算器的基本功能:(1)加法两个数据进行加操作,可以为小数。

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

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

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

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

(6)百分号对任意一个数进行百分号运算。

(7)倒数对任意一个数进行倒数运算。

1.2标准计算器界面(图1-1)图1-1 1.3系统功能图(图1-2)2标准计算器演示(1)启动计算器(图2-1)图2-1(2)加法、乘法运算分别输入9和3然后分别计算其加法、乘法运算(图2-2,图2-3)图2-2(加法运算)图2-3(乘法运算)(3)开平方运算sqrt(图2-4)图2-4(4)百分号运算%(图2-5)图2-5(5)倒数运算1/x(图2-6)图2-63程序设计过程中的问题该设计目前还不太完整全面,在测试时有以下问题:1.在进行aqrt 、%、 1/x这三个运算后再输入数据就在文本框中继续输入,不能重新输入。

需要按下清零键才可继续输入下一数据再进行运算。

2.菜单栏中虽然设计了“查看—标准型、科学型、数字分组”以及“帮助—帮助主题、关于计算器”可是其功能并没有时间。

3.该计算器设计了有关内存的操作,可是并没有达到预期中的效果。

java实验报告计算器

java实验报告计算器

java实验报告计算器Java实验报告:计算器引言:计算器是我们日常生活中常用的工具之一,它能够帮助我们进行各种数学运算,提高计算的效率。

本实验旨在使用Java编程语言设计和实现一个简单的计算器,通过实践来加深对Java语言和面向对象编程的理解。

一、需求分析在设计计算器之前,我们首先需要明确计算器的功能需求。

一个基本的计算器应该包括加、减、乘、除四种基本运算,同时还应该具备清零、取反、百分比等附加功能。

在本实验中,我们将实现这些基本功能,并尝试添加一些额外的功能,如开根号、求平方等。

二、设计思路1. 用户界面设计我们可以使用Java的图形用户界面(GUI)库来设计计算器的界面。

可以使用按钮来表示数字和运算符,使用文本框来显示计算结果。

2. 数据结构设计为了实现计算器的功能,我们需要设计一个合适的数据结构来存储用户输入的数字和运算符。

可以使用栈(Stack)数据结构来实现这个功能。

当用户按下数字按钮时,将数字入栈;当用户按下运算符按钮时,将运算符入栈。

当用户按下等号按钮时,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

3. 运算逻辑设计计算器的运算逻辑可以使用逆波兰表达式来实现。

逆波兰表达式是一种不需要括号的数学表达式表示方法,通过后缀表达式的形式来表示运算符的优先级。

在计算器中,我们可以使用栈来实现逆波兰表达式的计算。

三、实验步骤1. 创建一个Java项目,并导入GUI库。

2. 设计计算器的用户界面,包括按钮和文本框。

3. 实现按钮的点击事件,根据用户输入的数字和运算符来更新栈的状态。

4. 实现等号按钮的点击事件,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

5. 实现清零、取反、百分比等附加功能的按钮点击事件。

6. 运行程序,测试计算器的各项功能是否正常。

四、实验结果与分析经过测试,我们的计算器能够正常地进行加、减、乘、除等基本运算,并且附加功能也能正常使用。

通过这个实验,我们不仅学习了Java语言的基本语法和面向对象编程的思想,还加深了对数据结构和逆波兰表达式的理解。

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文

java实验报告——简单计算器的编写五篇范文第一篇:java实验报告——简单计算器的编写JAVA实验报告——简单计算器的编写班级:学号:姓名:一、实验目的1.掌握java图形用户界面(GUI)的设计原理和程序结构2.能设计复核问题要求的图形用户界面程序3.掌握常用组件的事件接口4.应用awt和swing组件进行应用程序设计二、实验条件1.计算机一台2.java软件开发环境三、实验步骤1、编写代码:mport java.awt.*;import java.awt.event.*;import javax.swing.*;public class JCalculator extends JFrame implements ActionListener {private static final long serialVersionUID =-***457Lprivate class WindowCloser extends WindowAdapter {public void windowClosing(WindowEvent we){System.exit(0);}}int i;private final String[] str = { “7”, “8”, “9”, “/”, “4”, “5”, “6”, “*”, “1”,“2”, “3”, “-”, “.”, “0”, “=”, “+” };JButton[] buttons = new JButton[str.length]; JButton reset = new JButton(“CE”); JTextField display = new JTextField(“0”);public JCalculator(){super(“Calculator”);JPanel panel1 = new JPanel(new GridLayout(4, 4)); for(i = 0;i < str.length;i++){buttons[i] = new JButton(str[i]);panel1.add(buttons[i]);}JPanel panel2 = new JPanel(new BorderLayout()); panel2.add(“Center”, display);panel2.add(“East”, reset);getContentPane().setLayout(new BorderLayout()); getContentPane().add(“North”, panel2); getContentPane().add(“Center”, panel1);for(i = 0;i < str.length;i++)buttons[i].addActionListener(this);reset.addActionListener(this);display.addActionListener(this); addWindowListener(new WindowCloser()); setSize(800, 800);setVisible(true);pack();}public void actionPerformed(ActionEvent e){ Object target = e.getSource();String label = e.getActionCommand();if(target == reset)handleReset();else if(“0123456789.”.indexOf(label)> 0)handleNumber(label);elsehandleOperator(label);}boolean isFirstDigit = true;public void handleNumber(String key){if(isFirstDigit)display.setText(key);else if((key.equals(“.”))&&(display.getText().indexOf(“.”)< 0))display.setText(display.getText()+ “.”);else if(!key.equals(“.”))display.setText(display.getText()+ key);isFirstDigit = false;}public void handleReset(){display.setText(“0”);isFirstDigit = true;operator = “=”;}double number = 0.0;String operator = “=”;public void handleOperator(String key){if(operator.equals(“+”))number += Double.valueOf(display.getText());else if(operator.equals(“-”))number-= Double.valueOf(display.getText());else if(operator.equals(“*”))number *= Double.valueOf(display.getText());else if(operator.equals(“/”))number /= Double.valueOf(display.getText());else if(operator.equals(“=”))number = Double.valueOf(display.getText());display.setText(String.valueOf(number));operator = key;isFirstDigit = true;}public static void main(String[] args){new JCalculator();} }2、运行结果,见截图计算测试:123+456=579结果正确,程序无误。

java程序计算器课程设计

java程序计算器课程设计

java程序计算器课程设计一、课程目标知识目标:1. 让学生掌握Java基本语法和程序结构,特别是运算符、控制流程等与计算器相关的知识;2. 帮助学生理解计算器程序的功能需求,设计合理的类和方法;3. 引导学生运用所学知识实现一个具备加、减、乘、除基本运算功能的计算器程序。

技能目标:1. 培养学生运用Java语言编写、调试程序的能力;2. 提高学生分析问题、解决问题的能力,能够根据实际需求设计合适的程序结构;3. 培养学生团队协作能力,通过小组讨论和分工,共同完成计算器程序的设计与实现。

情感态度价值观目标:1. 激发学生对编程的兴趣,培养其主动探究、积极实践的精神;2. 引导学生认识到编程在解决问题中的实际应用,增强其学习责任感;3. 培养学生良好的编程习惯,注重代码规范和可读性,提高其职业素养。

本课程针对高年级学生,考虑到他们已具备一定的编程基础,课程性质为实践性、综合性。

在教学过程中,注重引导学生主动参与、动手实践,将目标分解为具体的学习成果,以便在教学设计和评估中明确方向。

通过本课程的学习,期望学生能够独立完成一个简单的计算器程序,并在实践中提高自身编程能力和团队协作能力。

二、教学内容1. Java基本语法:变量声明与赋值、数据类型、运算符、表达式;2. 控制流程:分支结构(if-else、switch)、循环结构(for、while、do-while);3. 方法定义与调用:无参方法、有参方法、返回值方法;4. 类与对象:类的定义、对象的创建与使用、构造方法;5. 计算器功能需求分析:加、减、乘、除运算,界面设计(可选);6. 编程实现:编写计算器类,实现加、减、乘、除方法,搭建主程序框架;7. 测试与调试:单元测试,集成测试,异常处理;8. 代码优化与重构:提高代码可读性,遵循编程规范,增强程序健壮性。

教学内容依据课程目标,结合教材相关章节进行组织。

具体安排如下:第一课时:Java基本语法与运算符复习;第二课时:控制流程和方法定义;第三课时:类与对象基础;第四课时:计算器功能需求分析与设计;第五课时:编写计算器类,实现基本运算方法;第六课时:搭建主程序框架,进行单元测试;第七课时:集成测试,优化代码,进行调试;第八课时:总结与反馈。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告Java计算器设计实验报告引言:计算器是人们日常生活中常见的工具之一,它能够进行基本的数学运算,方便人们进行快速计算。

本实验旨在通过使用Java编程语言设计一个简单的计算器,探索计算器的基本原理和实现方法。

一、实验目的本实验的主要目的是通过设计和实现一个基本的计算器,加深对Java编程语言的理解和应用。

通过这个实验,我们可以学习到如何设计一个简单的界面,实现基本的计算功能,并对用户输入进行处理和错误处理。

二、实验步骤1. 界面设计首先,我们需要设计一个简单的计算器界面。

可以使用Swing或JavaFX等工具包来实现界面设计。

界面应该包括数字按钮、运算符按钮以及一个显示屏幕等组件。

2. 事件处理接下来,我们需要为每个按钮添加事件处理程序。

当用户点击按钮时,程序应该能够根据按钮的类型执行相应的操作。

例如,当用户点击数字按钮时,程序应该能够将数字显示在屏幕上;当用户点击运算符按钮时,程序应该能够执行相应的运算。

3. 运算逻辑在实现运算逻辑时,我们需要考虑用户的输入和错误处理。

例如,当用户输入非法字符或进行非法操作时,程序应该能够给出相应的提示或错误信息。

同时,我们还需要考虑运算的优先级和顺序,确保计算结果的准确性。

4. 测试和调试完成代码编写后,我们需要进行测试和调试。

通过输入一系列数字和运算符,检查计算器是否能够正确计算并显示结果。

如果发现错误或异常,需要对代码进行调试,找出并解决问题。

三、实验结果经过测试和调试,我们成功实现了一个简单的计算器。

用户可以通过界面上的按钮输入数字和运算符,并在屏幕上显示计算结果。

计算器能够处理用户的输入并进行相应的运算,同时还能够对错误输入进行处理和提示。

四、实验总结通过本实验,我们深入了解了Java编程语言的应用和实践。

通过设计和实现一个简单的计算器,我们掌握了界面设计、事件处理和运算逻辑的基本原理和方法。

同时,我们也学会了如何进行测试和调试,提高了代码的可靠性和稳定性。

java课程设计编写计算器

java课程设计编写计算器

java课程设计编写计算器一、教学目标本节课的教学目标是使学生掌握Java编程的基本语法和结构,能够使用Java编写一个简单的计算器程序。

具体来说,知识目标包括了解Java的基本数据类型、运算符、控制结构等;技能目标包括能够使用Java编写简单的程序,并进行调试和优化;情感态度价值观目标包括培养学生的编程兴趣,提高学生的解决问题的能力。

二、教学内容本节课的教学内容主要包括Java的基本语法和结构,以及计算器程序的设计和实现。

具体来说,将讲解Java的基本数据类型、运算符、控制结构等知识,并通过实例来说明如何使用这些知识来编写计算器程序。

此外,还将介绍如何进行程序的调试和优化,以提高程序的性能和可靠性。

三、教学方法为了达到本节课的教学目标,将采用多种教学方法来进行教学。

首先,将采用讲授法来讲解Java的基本语法和结构,使学生能够了解和掌握这些知识。

其次,将采用案例分析法来分析计算器程序的设计和实现,使学生能够通过实际案例来加深对知识的理解和应用。

此外,还将采用实验法让学生亲自动手编写和调试计算器程序,以提高学生的实际操作能力。

四、教学资源为了支持本节课的教学内容和教学方法的实施,将选择和准备一些教学资源。

教材方面,将使用《Java编程语言》作为主教材,辅以《Java编程实践》等参考书进行深入学习。

多媒体资料方面,将制作一些PPT和视频教程,以帮助学生更好地理解和掌握知识。

实验设备方面,将准备一些计算机和编程环境,以便学生进行实际操作和调试。

五、教学评估本节课的教学评估将采用多元化的方式来进行,以全面、客观、公正地评估学生的学习成果。

评估方式包括平时表现、作业和考试等。

平时表现主要考察学生的出勤、课堂参与度和团队合作能力;作业主要包括课后练习和编程任务,以巩固和应用所学知识;考试则是对学生综合运用Java编程知识的考察,包括理论知识和编程实践。

通过这些评估方式,希望能够全面反映学生的学习成果,激发学生的学习兴趣和主动性。

java课设计算器报告

java课设计算器报告

java课设计算器报告Java是一种跨平台的面向对象的编程语言,使用Java编写的程序可以运行在各种环境(如Windows,Linux, Mac OS)之中。

而在学习Java语言的过程中,设计一个功能比较完善的计算器是学习者比较需要掌握的一项基本技能,故本文的目的在于,设计一个更加完善的Java课设计算器,并介绍如何实现。

二、计算器简介计算器是一种用于计算数字表达式的设备或程序,它可以计算算术表达式(包括加、减、乘、除),可以处理复杂的表达式,并有多种式样,如科学计算器,财务计算器,历史计算器等等。

三、计算器实现(一)编写程序首先,编写一个简单的计算器程序,让它能够实现输入输出的功能。

程序的实现使用Java的swing组件,并设置相应的按钮和文本框。

(二)处理表达式计算器可以接受复杂的表达式,所以必须使用相应的算法来处理表达式,以便得到正确的结果。

(三)计算结果接收到表达式后,依据编写的算法,计算得到所需要的结果,并在结果框中显示出来。

四、计算器应用计算器是日常生活中非常常见且实用的工具,它有助于改善计算准确性以及节约计算时间。

此外,计算器也有多种应用,比如:(一)金融领域计算器可以帮助金融行业的职员进行计算,例如计算投资收益、贷款利息、汇率等;(二)学术领域计算器可以帮助学生进行科学计算,从而更加方便快捷地完成学术研究;(三)数据分析计算器可以帮助对大量数据进行快速分析,从而节省时间和精力,提高工作效率。

五、总结本文基于Java语言设计了一款更加完善的计算器,并介绍了如何实现,它既可以进行简单的计算,也可以处理复杂的表达式,具有很强的实用性。

在实际的应用中,计算器的功能可以帮助我们更快更准确地完成计算,且多种应用,可以更好地提高工作效率。

java程序设计报告---设计一个计算器

java程序设计报告---设计一个计算器

课程设计课程设计目的设计一个基于Swing的计算器应用程序,完成普通的算术运算。

课程设计要求1.设计的计算器是基于Swing的,可以完成加减乘除和取余运算。

2.增加计算器的日期计算功能,能够计算两个日期之间相距的天数。

(要判断键入的日期格式是否正确,并能正确处理按钮动作事件,同时能够得到正确的计算结果)设计要点主要练习使用布局管理器设计一个计算器的界面,并使用事件监听器处理数据的输入,完成相关的计算。

在面板上可以增加一个算术/日期的转换按钮来选择是普通计算还是日期计算。

以及增加一个清零的按钮CE,用以将显示结果的单行文本域清空,同时将各个参数设置为默认值。

二、总体方案设计日常生活中经常需要用到计算器,比如科学计算,数值计算,会计业务等等,在Applet 中实现一个精巧的计算器,可以让用户的操作也更方便和快捷。

本项目需要实现一个具有四则运算的计算器,能够实现基本的加、减、乘、除运算,以及其它的辅助功能;界面简洁适用;要提供主要的设计思路、类的设计,本次设计添加转进制等功能。

本应用程序继承自框架(frame),此程序使用frame布局管理器bordelayout,将单行文本加入相应区域,包含各种按纽的面板buttonpanel加入相应区域还可以将进制转换的面板与单行文本框放一块包含各种按纽的面板buttonpanel采用N行N列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中,同时注册按钮事件监听器。

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

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

四、程序的调试与运行结果说明程序功能实现:使用swing组件和awt图形用户界面以及BroadLayout布局管理器。

通过在按钮的单击事件处理方法中调用类的成员方法calculator()来进行简易计算器的各种运算,并正确实现运算功能。

java计算器编写课程设计

java计算器编写课程设计

java计算器编写课程设计一、课程目标知识目标:1. 理解Java编程基础,掌握计算器的基本功能需求;2. 学会使用Java控制台输入输出,熟练运用算术运算符;3. 掌握基本的异常处理,提高程序的健壮性;4. 了解面向对象编程思想,运用类和对象实现计算器功能。

技能目标:1. 能够编写出具有基本计算功能的Java程序;2. 能够运用控制台接收用户输入,处理用户异常输入;3. 能够运用类和对象对计算器程序进行模块化设计;4. 能够运用调试工具检查并修复程序中的错误。

情感态度价值观目标:1. 培养学生细心、严谨的编程习惯,树立良好的编程态度;2. 培养学生面对编程困难时的耐心和解决问题的能力;3. 培养学生的团队协作能力,学会共同分析问题、解决问题;4. 激发学生对计算机编程的兴趣,提高学习积极性。

课程性质分析:本课程为信息技术课程,旨在通过编写Java计算器程序,使学生掌握编程基础和面向对象编程思想。

学生特点分析:学生为初中年级,具有一定的逻辑思维能力,对计算机编程有一定兴趣,但需培养良好的编程习惯和面对困难的耐心。

教学要求:结合学生特点,注重实践操作,引导学生主动思考,激发学习兴趣,培养团队协作能力。

通过本课程的学习,使学生达到以上所述课程目标,为后续编程学习奠定基础。

二、教学内容1. Java编程基础:- 数据类型与变量- 运算符与表达式- 控制语句(顺序、分支、循环)2. Java控制台输入输出:- 使用Scanner类进行输入- 使用System.out.println进行输出3. 异常处理:- try-catch语句- 常见异常类型4. 面向对象编程:- 类的定义- 对象的创建与使用- 方法的定义与调用5. 计算器功能实现:- 分析计算器需求- 设计类与对象- 编写计算器程序教学大纲安排:第一课时:Java编程基础(数据类型与变量、运算符与表达式)第二课时:Java控制台输入输出(Scanner类、System.out.println)第三课时:控制语句(顺序、分支、循环)第四课时:异常处理(try-catch语句、常见异常类型)第五课时:面向对象编程(类与对象、方法的定义与调用)第六课时:计算器功能实现(分析需求、设计类与对象、编写程序)教学内容关联教材:- 《Java编程基础》第四章:控制流程- 《Java编程基础》第五章:面向对象编程基础- 《Java编程基础》第十章:异常处理三、教学方法1. 讲授法:教师通过生动的语言和实际案例,讲解Java编程基础、面向对象编程等理论知识,使学生对编程概念有清晰的认识。

java实现计算器课程设计

java实现计算器课程设计

java实现计算器课程设计一、教学目标本节课的教学目标是让学生掌握Java语言实现计算器的基本原理和编程技巧,培养学生的编程能力和逻辑思维能力。

具体来说,知识目标包括了解Java语言的基本语法和数据结构,掌握计算器的数学原理和算法;技能目标包括能够使用Java语言编写简单的计算器程序,能够进行调试和优化;情感态度价值观目标包括培养学生对编程的兴趣和热情,提高学生解决问题的自信心和耐心。

二、教学内容本节课的教学内容主要包括Java语言的基本语法和数据结构,计算器的数学原理和算法,以及计算器程序的设计和调试。

具体来说,首先介绍Java语言的基本语法和数据结构,如变量、运算符、控制语句、数组等;然后讲解计算器的数学原理和算法,如加减乘除、括号处理等;最后通过实例演示和练习,让学生掌握计算器程序的设计和调试方法。

三、教学方法本节课采用讲授法、案例分析法和实验法相结合的教学方法。

首先通过讲授法,向学生讲解Java语言的基本语法和数据结构,计算器的数学原理和算法;然后通过案例分析法,分析计算器程序的设计和调试方法,让学生加深对计算器原理的理解;最后通过实验法,让学生动手编写和调试计算器程序,培养学生的编程能力和实验技能。

四、教学资源本节课的教学资源包括教材、参考书、多媒体资料和实验设备。

教材和参考书用于为学生提供Java语言和计算器原理的基础知识,多媒体资料用于辅助讲解和演示,实验设备用于让学生进行编程实践。

教学资源的选择和准备应该符合教学内容和教学方法的要求,以支持学生的学习和教师的授课。

五、教学评估本节课的教学评估主要包括平时表现、作业和考试三个部分。

平时表现主要评估学生在课堂上的参与程度、提问回答和小组讨论的表现;作业主要评估学生的编程能力和算法理解,包括课堂练习和课后作业;考试则是对学生整体掌握情况的评估,包括Java语言基础知识、计算器原理和编程实践。

评估方式应客观、公正,能够全面反映学生的学习成果。

Java课程设计(计算器)

Java课程设计(计算器)
面设计
界面布局:简洁明了,易于操作 输入框:用于输入数字和运算符号 计算按钮:用于执行计算操作
结果显示框:用于显示计算结果 历史记录框:用于查看历史计算记录 帮助按钮:用于查看帮助信息或联系客服
功能需求优先级
基本运算功能:加、 减、乘、除
科学计算功能:平方、 开方、三角函数等
错误处理:处 理用户输入错 误,如输入非
数字字符等
功能扩展:支 持更多运算符 号和功能,如 平方、开方等
代码优化:提 高代码可读性 和可维护性, 减少代码冗余
和错误
测试与调试
单元测试:对每个功能模块进行独立测试,确保其正确性 集成测试:将各个功能模块组合起来进行测试,确保整体功能的正确性 边界值测试:对输入和输出边界值进行测试,确保程序在边界条件下的稳定性
Part Five
总结与展望
项目总结
项目目标:设计并实现一个计算器 项目成果:实现了加减乘除、平方根、正弦余弦等计算功能 项目难点:处理用户输入和错误处理 项目改进:优化界面设计,增加更多计算功能,提高用户体验
项目亮点与不足
● 项目亮点: - 界面设计简洁明了,易于操作 - 代码结构清晰,易于维护和扩展 - 功能齐全,满足日常 计算需求 - 性能稳定,响应速度快
实际应用价值
提高编程能力: 通过设计计算 器,可以提升 Java编程技能
理解算法原理: 通过设计计算 器,可以深入 理解算法原理
和实现方法
提高问题解决 能力:通过设 计计算器,可 以提升解决实 际问题的能力
提升团队协作 能力:通过设 计计算器,可 以提升团队协 作和沟通能力
THANKS
汇报人:
Java课程设计(计算器)
,a click to unlimited possibilities

Java计算器程序课程设计

Java计算器程序课程设计

Java计算器程序课程设计一、课程目标知识目标:1. 学生能理解Java基本语法,掌握计算器程序的基本结构;2. 学生能运用所学知识,编写具有加、减、乘、除基本功能的计算器程序;3. 学生了解并掌握异常处理机制,提高程序的健壮性。

技能目标:1. 学生能运用面向对象编程思想,设计计算器类和其方法;2. 学生能运用调试工具,对计算器程序进行测试和优化;3. 学生能运用Java文档规范,为计算器类编写合适的注释。

情感态度价值观目标:1. 学生通过编程实践,培养解决问题的能力和团队合作精神;2. 学生在编程过程中,体验程序设计的乐趣,激发对计算机科学的兴趣;3. 学生遵守编程规范,树立良好的编程习惯,培养认真负责的工作态度。

本课程针对高年级学生,结合学科特点和教学要求,将课程目标分解为具体的学习成果。

学生在学习过程中,将逐步掌握Java编程基础知识,培养编程技能,同时注重情感态度价值观的培养,使学生在知识、技能和情感方面得到全面发展。

二、教学内容1. Java基本语法:变量定义、数据类型、运算符、表达式;2. 面向对象编程:类与对象、方法定义、构造方法、访问修饰符;3. 异常处理:try-catch语句、异常类型、自定义异常;4. 计算器类设计:属性、方法、界面交互;5. 程序调试与优化:使用调试工具、代码优化、性能分析;6. Java文档编写:类注释、方法注释、参数注释、返回值注释;7. 编程规范与团队合作:命名规范、代码格式、版本控制、团队协作。

教学内容依据课程目标,结合教材章节进行组织。

教学大纲安排如下:第一课时:Java基本语法与数据类型;第二课时:运算符、表达式与面向对象编程基础;第三课时:类与对象、方法定义;第四课时:异常处理、计算器类设计;第五课时:程序调试与优化;第六课时:Java文档编写、编程规范与团队合作。

教学内容注重科学性和系统性,使学生能够在掌握基本知识的同时,学会运用所学解决问题,培养良好的编程习惯和团队协作能力。

JAVA程序设计课程作业——标准计算器的实现报告

JAVA程序设计课程作业——标准计算器的实现报告

JA V A程序设计课程作业——关于计算器的设计说明电信06XX班王XX 012006012XXX郭XX 012006012XXX陈X 012006012XXX 一实验目的1、通过编写计算器程序,以达到熟悉和掌握JA V A的目的。

2、在编程的过程中,提升自己的能力。

3、能够有效的增强团队合作的能力。

二实验内容1、编写一个计算器,应该有如图类似的图形用户界面。

2、能够实现普通的加减乘除运算。

3、可以适当的增加一些科学计算器的功能。

三.程序设计及源码实现:程序设计结构:copyItemeditItempasteItemtItemmainMenu viewMenu sItem(NORTH)numberGrouptopHelphelpMenuaboutHelpPanel textAnswer(CENTER)textMemorylabelMenSpacePanel2 buttonN(NORTH) buttonBkbutton Cebutton CPanel1(SOUTH)button MC 7 8 9 Div Sqrtbutton MR 4 5 6 * %Panel3 button MS 1 2 3 - Dao(CENTER)button M+ 0 +/- Dot + +源码如下:import java.awt.*;import 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 ,buttonN;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)short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算String copy; //做复制用JTextArea help; //帮助JScrollPane scrollHelp;//构造函数public Calculator(){clickable = true;answerd = 0;frame = new JFrame("计算器");df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值) textAnswer = new JTextField(15);textAnswer.setText(" ");textAnswer.setHorizontalAlignment(JTextField.RIGHT); //文本右对齐textAnswer.setEditable(false); //设置为不可编辑textAnswer.setBackground(new Color(255, 255,255));//白底色panel = new JPanel();frame.setContentPane(panel); //panel1 = new JPanel();panel2 = new JPanel();panel.setLayout(new BorderLayout());//设计整个面板mainMenu = new JMenuBar();editMenu = new JMenu("编辑(E)");viewMenu = new JMenu("查看(V)");helpMenu = new JMenu("帮助(H)");copyItem = new JMenuItem(" 复制(C) Ctrl+C");copyItem.addActionListener(this); //增加动作事件监听pasteItem = new JMenuItem(" 粘贴(V) Ctrl+V");pasteItem.addActionListener(this); //增加动作事件监听editMenu.add(copyItem);editMenu.add(pasteItem);tItem = new JMenuItem("●标准型(T)");tItem.addActionListener(this); //增加动作事件监听sItem = new JMenuItem(" 科学型(S)");sItem.addActionListener(this); //增加动作事件监听numberGroup = new JMenuItem(" 数字分组(I)");numberGroup.addActionListener(this); //增加动作事件监听viewMenu.add(tItem);viewMenu.add(sItem);viewMenu.add(numberGroup);topHelp = new JMenuItem(" 帮助主题(H)");topHelp.addActionListener(this); //增加动作事件监听help = new JTextArea(5, 20);scrollHelp = new JScrollPane(help);help.setEditable(false);help.append("执行简单计算\n");help.append("1. 键入计算的第一个数字。

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

目录一、课程设计目的 (3)二、课程设计任务.................................................................... . (2)2.1、设计任务 (3)2.2、课程设计要求: (3)2.3、需求分析 (3)三、开发工具与平台.................................................................... .. (3)3.1、开发工具 (3)3.2、开发平台 (3)四、设计思路.................................................................... (4)4.1、界面设计.................................................................... (4) (4)4.3、程序测试 (9)五、实验小结 (9)六、附录 (程序代码) (10)一、课程设计目的1、熟练掌握java面向对象编程。

2、选择合适的数据结构实现需求。

3、熟练使用各种控制结构。

4、GUI组件、事件处理技术。

二、课程设计任务2.1、设计任务设计一个简易的计算器,可以进行四则运算:加、减、乘、除等(限于十进制下)程序要求:(1)应具有相应的界面,可参考Windows操作系统自带的计算器界面。

(2)操作符号定为:“+”,“-”,“*”,“/”,“+/-”等。

(按国际惯例设计)(3)用户通过点击程序界面上按钮,实现数字、运算符的输入操作。

(4)以上部分为必须完成的内容。

选作部分:(1)具有操作符号“1/x”,“sqrt”(开方),“.”(小数功能)等。

2.2、课程设计要求:(1)应用自己所学课程知识完成对计算器的基本任务。

(2)查阅相关资料,学习和掌握项目中涉及的新知识,提高自学能力。

(3)通过应用java程序编写计算器来提升自己对简单的图形界面有一定的掌握和了解。

2.3、需求分析1.设计的计算器可以完成加法、减法、乘法、除法的简单运算。

2.实现一些简单的扩展运算,如:正负号、倒数、退格、清零等功能。

3.添加小数点功能,用以实现浮点型数据的计算。

4.使用布局管理器设计一个计算器的界面,使用事件监听器处理数据的输入,并完成相关的计算。

三、开发工具与平台3.1、开发工具Microsoft Windows 7旗舰版3.2、开发平台四、设计思路4.1、界面设计:(如图3-1)图3-1:(1)根据所设计出来的界面,首先要设计其GUI界面,总体界面有一个文本框,20个按钮,总体界面用BorderLayout布局,文本框放置在最NORTH,然后0到9以及+,-,*,/等按钮放置到一个面板Panel中,完成界面设计。

(2)设计计算流程,首先点击数字按钮时,将按钮数值添加到文本框当中,并将该数值保存到一个字符串中,再次点击数字按钮时,将之前保存的字符串与新的数值拼接起来,再添加到文本框当中,直到点击运算符按钮时,将文本框当中的字符串保存在一个字符串变量中,然后重置文本框内容,将运算符号显示到文本框中,随后输入第二个计算数据时,用同样的办法保存数据,最后通过控制“=”运算符先将字符串数据转化成双精度类型,然后计算出结果并显示到文本框当中。

(3)基本运算设计完成以后则开始考虑其他个别功能的实现,例如倒数、清零、退格等功能的实现,清零直接重置文本框内容,退格功能则采用substring函数截取字符串长度。

:明:总体代码的设计:程序采用继承windowadapter类,新建Jframe窗体,利用数组来定义JBotton按钮,同时利用数组注册监听,采用4行5列网格布局,完成计算器界面的基本设置,在窗体的正常关闭方面,采用匿名类实现窗体的正常关闭。

最后对按钮进行计算分析,分别设定输入数据的A类、运算符控制的Opertion类,退格功能的BackSpace类、计算结果的Result类等等,一步步实现计算器的基本功能!(1)类A的设计(数据的输入)class A implements ActionListener{public void actionPerformed(ActionEvent e){String a = Jtext.getText();String s = e.getActionCommand();if(a.equals("0.")||a.equals("+")||a.equals("-")||a.equals("*")||a.equals("/"))Jtext.setText(s);else{if(flag2){Jtext.setText(s);flag2=false;}elseJtext.setText(a+s);}}}功能解释:程序开始时,程序初始化文本框的内容为“0.”,点击数字按钮,则调用类A,首先用a来获取当前文本框内容,s来获取按钮数值,然后进行判断,若a的值为上述代码的值则输出s的值,再次点击数字按钮时,再次调用A类,此时a的值为上次输入的s值,第一个if语句不满足,执行下个if语句if(flag2),flag2初始值为false,该语句的功能是在执行了“=”号按钮时,防止新的数字按钮的值合并到到已经得出的结果上,例如:12+12=24,此时再点击数字按钮3时,则文本框内容被重置,输出数值3,而不是243,如果if(flag2)不满足,则将字符串a和s合并并输出,得出第一个要计算的数据。

(2)类Opertion的设计:(运算符的控制)class Opertion implements ActionListener{public void actionPerformed(ActionEvent e){cal=e.getActionCommand();if(flag1==true)x=Jtext.getText();Jtext.setText(cal);flag1=false;}}功能解释:当点击运算符控制按钮时,首先将运算符的数值赋值给cal(初值为空),紧接着进行判断,flag1初值为ture,该类的作用为在点击运算符按钮时,将计算的第一个数据保存在x字符串变量当中,然后将文本框内容重置为点击的运算符的数值,类的结尾将flag1赋值为false,防止再次点击运算符按钮时改变了x的值。

(附:此时文本框内容为运算符的值,输入第二个计算数据时,点击数字按钮,则再次调用A类,此时满足A类中第一个if语句,文本框内容被重置为数字按钮的值,接下来与获取第一个计算数据步骤一样,直到点击“=”号运算符为止!)(3)类Result的设计:(计算并输出结果)class Result implements ActionListener //计算并显示结果{public void actionPerformed(ActionEvent e){double num1;num1=Double.parseDouble(x);y=Jtext.getText();double num2;num2=Double.parseDouble(y);double result=0;if(num2!=0){if(cal.equals("+"))result=num1+num2;if(cal.equals("-"))result=num1-num2;if(cal.equals("*"))result=num1*num2;String s1=Double.toString(result); Jtext.setText(s1);}if(cal.equals("/")){if(num2==0)Jtext.setText("除数不能为0");else{result=num1/num2;String s1=Double.toString(result);Jtext.setText(s1);}}flag1=true;flag2=true;}}功能解释:首先定义两个Double型num1,num2,将之前保存的第一个计算数据x强制转换为Double型后赋值给num1,接着用字符串变量y来获取当前文本框的内容,即第二个计算数据的值,同样再将其强制转换Double型后赋值给num2,然后进行运算符判断,对cal的值进行比较,然后进行相应的计算,将计算的结果转换成字符串后将其输出到文本框中,在类的最后将flag1、flag2赋值为true,作用是将计算的结果当作第二次计算的数据进行再运算,即将结果重新赋值给x作为第一个计算数据!(附:在此类中还考虑了当除数为零的情况。

)(4)类BackSpace的设计:(功能类—退格)class BackSpace implements ActionListener{public void actionPerformed(ActionEvent e){String s = e.getActionCommand();String s1 = Jtext.getText();if(s.equals("退格"))s1=new String (s1.substring(0,s1.length()-1));Jtext.setText(s1);}}功能解释:这是计算器附加功能的实现,这里只介绍退格功能,像正负号、求倒数、清零等功能相似,所以就不再一一介绍。

首先获取退格按钮的命令值赋给s,然后获取当前文本框的内容,即输入的数据,将其赋给s1,接着进行判断,利用substring函数将s1字符串截取为从第一个字符至倒数第二个字符为止的字符串并重新赋值给s1,再将其输出到文本框,实现退格的功能。

4.3、程序测试1.简单的运算:(以加法为例:123+456)分析:计算的结果为579.0,为双精度型,计算的结果被设置在文本框的最右端,该计算器的一个特点是可直接在文本框中输入数据以及进行更改。

2.倒数的运算:(以123为例)分析:输出的结果如图所示,倒数功能实现,计算时,不仅是结果,输入的数据同样可以先实现倒数功能后再进行相应的计算,没有影响!3.退格的运算:(以123为例)分析:输出的结果如图所示,本计算器退格键有一个特点是,就算是是计算后得出的结果也能实现退格,缺点是不能很好的处理小数点的问题,因为小数点也是字符串的一部分。

4.正负号的运算:(以123为例)分析:输出的结果如图所示,正负号添加能够很好的实现,但可以进行一些改进,比如在计算过程当中直接点击负号运算符输入负数进行计算!5.总体分析:该计算器基本运算没有问题,清零、正负号、求倒数、退格功能都能很好的实现,总体能完成一个计算器的基本功能,但仍有许多地方需要改进,比如小数点的实现所存在的一些问题,虽然在基本的运算过程当中不会造成太大影响,但这依然不能认为是一个很好的计算器,同时,在另一方面,该计算器还没能很好的实现连续计算的功能,必须每次按下等号按钮计算出结果后才能用产生的结果接着进行下一次的计算,改进的方法是在运算符上同时注册Result类,让运算符同时拥有计算结果的功能。

相关文档
最新文档