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

合集下载

软件类笔试题

软件类笔试题

软件类笔试题一、题目描述某公司需要招聘一名软件工程师,为了选拔最优秀的候选人,公司设计了以下笔试题,请根据题目要求完成相应的操作。

二、题目一:编程题请编写一个Java程序,实现一个简单的计算器。

要求用户输入两个数字和一个运算符(+、-、*、/),程序通过计算后输出结果。

示例输入:2 + 3示例输出:5三、题目二:算法题给定一个整数数组,找出其中和为特定值的两个数,并返回这两个数的索引。

你可以假设每个输入都只有一个解,并且同样的元素不能被重复利用。

示例输入:[2, 4, 6, 8, 10],目标和为12示例输出:[1, 3]四、题目三:数据库设计某电商公司需要设计一个数据库来管理商品信息。

该数据库需要包含以下表:1. 商品表(products):包含商品ID、商品名称、商品价格等字段;2. 分类表(categories):包含分类ID、分类名称等字段;3. 商品分类关联表(product_category):用于关联商品和分类,包含商品ID和分类ID字段。

请设计上述表的结构,并提供SQL语句创建这些表。

五、题目四:软件测试某软件公司需要开发一个在线购物平台,需要进行系统功能测试。

请根据给定的测试用例,编写完整的测试计划,包括测试目标、测试环境、测试策略、测试用例设计等内容。

测试用例:1. 用户登录测试:输入正确的用户名和密码,验证登录是否成功。

2. 商品搜索测试:输入关键词进行商品搜索,验证搜索结果是否准确。

3. 添加购物车测试:选择商品添加到购物车,验证购物车中是否正确添加了商品。

4. 订单支付测试:选择商品下单并进行支付,验证订单支付是否成功。

5. 系统稳定性测试:模拟多用户同时操作系统,验证系统的响应速度和稳定性。

六、题目五:软件项目管理某软件公司计划开发一个新的手机应用程序。

请根据以下要求,设计一个项目计划:1. 项目目标:开发一款功能完善、用户友好的手机应用程序,满足用户对各类功能的需求。

用java代码写的简易计算器(可以实现基本的加减乘除功能)

用java代码写的简易计算器(可以实现基本的加减乘除功能)

⽤java代码写的简易计算器(可以实现基本的加减乘除功能)package A;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;public class Calcular3 extends JFrame implements ActionListener,MouseListener{private int m1=0,n=0;//private double m2=0;//运算的数private int flag=0;JFrame f;JPanel p1,p2,p3;JTextField t;JButton b1[]=new JButton[18];String b[]= {"1","2","3","4","5","6","7","8","9","0","清空","退格",".","=","+","-","*","/"};public Calcular3(){f=new JFrame("计算器");t=new JTextField(35);p1=new JPanel();p2=new JPanel();p3=new JPanel();f.setBounds(100, 100, 400, 200);f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);f.add(p3,BorderLayout.EAST);p2.setLayout(new GridLayout(5,3));p3.setLayout(new GridLayout(4,1));p1.add(t);for(int i=0;i<14;i++) {b1[i]=new JButton(b[i]);p2.add(b1[i]);b1[i].addActionListener(this);}for(int i=14;i<18;i++) {b1[i]=new JButton(b[i]);p3.add(b1[i]);b1[i].addActionListener(this);}/*for(int i=0;i<18;i++) {b1[i].addActionListener(this);}*/f.setVisible(true);}//实现接⼝的⽅法public void mouseClicked(MouseEvent e) {}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void actionPerformed(ActionEvent e) {String str="";int i;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {if(i==9) {n=n*10;}else {n=n*10+i+1;}str=String.valueOf(n);//整形n转换成字符串strt.setText(str);//显⽰到⽂本框上}}for(i=14;i<18;i++) {//+、-、*、/if(e.getSource()==b1[i]) {//匹配运算符m1=Integer.parseInt(t.getText());if(flag==15) {m2=m1+m2;}else if(flag==16) {m2=m1-m2;}else if(flag==17) {m2=m1*m2;}else if(flag==18) {m2=m1/m2;}else m2=m1;//若⽆连续的运算符运算,保存当前数据到m2 if(i==14) flag=15;else if(i==15) flag=16;else if(i==16) flag=17;else flag=18;str=String.valueOf(b[i]);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据break;//找到匹配数据退出循环}}if(e.getSource()==b1[13]) {//=m1=Integer.parseInt(t.getText());if(flag==15) {m2=m2+m1;}else if(flag==16) {m2=m2-m1;}else if(flag==17) {m2=m2*m1;}else if(flag==18) {m2=m2/m1;}else m2=m1;str=String.valueOf(m2);t.setText(str);//显⽰到⽂本框上n=0;//还原,记录下次数据flag=0;//flag还原0,表明没有未处理的运算符}if(e.getSource()==b1[10]) {//各变量变为0 清空m1=0;m2=0;flag=0;n=0;t.setText("0");//显⽰到⽂本框上}if(e.getSource()==b1[11]) {//退格m1=(int)(Double.parseDouble(t.getText())/10);n=m1;str=String.valueOf(m1);t.setText(str);}if(e.getSource()==b1[12]) {//⼩数点m1=Integer.parseInt(t.getText());str=String.valueOf(m1+b[12]);t.setText(str);//显⽰到⽂本框上int j=0;for(i=0;i<=9;i++) {if(e.getSource()==b1[i]) {j++;m2=Math.pow(0.1, j)*Integer.parseInt(b[i]);str=String.valueOf(m1+m2);t.setText(str);//显⽰到⽂本框上}}}}//主函数public static void main(String[] args) {new Calcular3();}}。

Java编程实战案例

Java编程实战案例

Java编程实战案例介绍Java是一种广泛使用的编程语言,它的强大功能和灵活性使其成为许多开发者的首选。

无论是初学者还是有经验的开发者,通过实践来学习和提高编程技能是非常重要的。

在本文中,我将介绍一些有趣的Java编程实战案例,帮助你更好地理解和掌握Java编程的核心概念。

1. Hello World程序无论是学习什么编程语言,Hello World程序几乎都是最简单和最基本的例子。

在Java中,我们可以通过以下代码来实现一个Hello World程序:public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}这段代码定义了一个名为HelloWorld的类,其中包含一个名为main的方法。

在main方法中,我们使用了System.out.println()函数打印出了一条Hello, World!的信息。

通过运行这段代码,我们可以在控制台上看到Hello, World!这个输出。

2. 计算器程序让我们来实现一个简单的计算器程序,它可以执行基本的算术运算。

我们可以定义一个Calculator类,其中包含addition、subtraction、multiplication 和division等方法,分别用于执行加法、减法、乘法和除法运算。

public class Calculator {public static int addition(int a, int b) {return a + b;}public static int subtraction(int a, int b) {return a - b;}public static int multiplication(int a, int b) {return a * b;}public static double division(int a, int b) {if (b == 0) {System.out.println("Error: Division by zero!");return0;}return (double) a / b;}}通过以上代码,我们可以定义一个Calculator类,其中包含了addition、subtraction、multiplication和division等方法来执行加、减、乘和除运算。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告《Java计算器设计实验报告》摘要:本实验报告基于Java语言,设计了一个简单的计算器。

通过使用面向对象的编程方法,实现了基本的加、减、乘、除运算,并且实现了用户界面的交互操作。

本实验报告详细介绍了计算器的设计思路、实现过程和代码结构,并对实验结果进行了分析和总结。

1. 引言计算器是人们日常生活中常用的工具之一,它能够帮助人们进行简单的数学运算。

随着计算器的普及和发展,计算器的功能也越来越丰富,例如科学计算器、金融计算器等。

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

2. 设计思路在设计计算器时,首先需要确定计算器的功能需求,包括加法、减法、乘法、除法等基本运算。

其次,需要考虑用户界面的设计,使用户能够方便地输入数字和选择运算符。

最后,需要考虑计算器的实现方式,包括数据结构的选择、算法的设计等。

3. 实现过程在本实验中,我们使用Java语言和Swing库来实现计算器的设计。

首先,我们创建一个Calculator类来处理计算器的逻辑操作,包括加法、减法、乘法、除法等运算。

然后,我们创建一个CalculatorUI类来处理用户界面的设计,包括数字按钮、运算符按钮和显示屏的设计。

最后,我们将Calculator类和CalculatorUI类进行整合,实现一个完整的计算器。

4. 代码结构以下是计算器的主要代码结构:Calculator类:- add(double a, double b):加法运算- subtract(double a, double b):减法运算- multiply(double a, double b):乘法运算- divide(double a, double b):除法运算CalculatorUI类:- createNumberButton(int number):创建数字按钮- createOperatorButton(String operator):创建运算符按钮- createDisplayScreen():创建显示屏Main类:- main(String[] args):主函数,启动计算器界面5. 实验结果分析通过实验,我们成功地实现了一个简单的计算器,用户能够输入数字并进行加、减、乘、除等运算。

java计算器代码

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(); // 调整窗体属性setupControls(); // 创建控件}private void setupControls() {setupDisplayPanel(); // 创建文本面板setupButtonsPanel(); // 创建按钮面板}// 创建按钮面板并添加按钮private void setupButtonsPanel() {JPanel panel = new JPanel();panel.setBorder(border);panel.setLayout(new GridLayout(4, 5, 3, 3));createButtons(panel, new String[]{"7", "8", "9", "+", "C","4", "5", "6", "-", "CE","1", "2", "3", "*", "", // 空字符串表示这个位置没有按钮 "0", ".", "=", "/", ""});this.add(panel, BorderLayout.CENTER);}/*** 在指定的面板上创建按钮** @param panel 要创建按钮的面板* @param labels 按钮文字*/private void createButtons(JPanel panel, String[] labels) {for (String label : labels) {// 如果 label 为空,则表示创建一个空面板。

java swing开发案例

java swing开发案例

java swing开发案例1. 计算器应用程序该应用程序使用Java Swing开发,实现了一个简单的计算器功能。

用户可以输入数字和运算符,并通过按下相应的按钮来执行计算操作。

应用程序会将计算结果显示在屏幕上,并允许用户清除当前计算或进行新的计算。

2. 学生成绩管理系统该应用程序使用Java Swing开发,可以帮助学校或老师管理学生的成绩信息。

用户可以添加新的学生、编辑学生信息、输入学生成绩,并可以通过查询功能来查找特定学生的成绩。

应用程序还可以生成成绩报告,以便用户进行分析和评估。

3. 文件浏览器这个应用程序使用Java Swing开发,模拟了一个简单的文件浏览器。

用户可以浏览计算机上的文件和文件夹,并可以通过点击相应的按钮来打开或删除文件。

应用程序还提供了搜索功能,以便用户可以快速找到所需的文件。

4. 图片编辑器这个应用程序使用Java Swing开发,可以帮助用户编辑和处理图片。

用户可以打开图片文件、调整亮度、对比度和饱和度,并可以进行裁剪、旋转和缩放操作。

应用程序还提供了一些滤镜效果,如黑白、模糊和怀旧效果。

5. 音乐播放器这个应用程序使用Java Swing开发,可以帮助用户播放本地音乐文件。

用户可以选择音乐文件并通过点击播放按钮来播放音乐。

应用程序还提供了控制音乐播放的功能,如暂停、停止和调整音量。

6. 电子邮件客户端这个应用程序使用Java Swing开发,可以帮助用户发送和接收电子邮件。

用户可以登录到他们的电子邮件账户,并可以编写和发送电子邮件。

应用程序还可以从服务器上接收新的电子邮件,并将它们显示在收件箱中。

7. 聊天应用程序这个应用程序使用Java Swing开发,可以帮助用户进行在线聊天。

用户可以登录到他们的聊天账户,并可以与其他在线用户进行实时聊天。

应用程序还提供了一些附加功能,如发送文件和创建群聊。

8. 天气预报应用程序这个应用程序使用Java Swing开发,可以帮助用户获取实时天气信息。

JAVA计算器论文

JAVA计算器论文

JAVA计算器论文摘要:本文介绍了JAVA计算器的设计和实现过程。

计算器是一种常见的工具,方便人们进行数学运算。

本文使用JAVA编程语言,采用面向对象的设计思想,实现了一个简单的计算器功能。

通过用户界面,用户可以输入数学表达式,并进行运算。

在实现过程中,使用了JAVA的图形用户界面库Swing,通过文本框和按钮等控件,实现了用户界面的设计。

通过对用户的输入进行解析,通过JAVA的计算功能,计算出结果。

在实验阶段,本文对计算器进行了一系列的测试,并找到了一些可能出现的问题并进行了改进,保证了计算器的正确性和稳定性。

实验结果表明,该计算器能够进行简单的数学运算,具有较高的精确性和用户友好性。

1.引言计算器是一种常见的工具,用于计算、解决各种数学问题。

计算器的出现大大方便了人们的生活和学习。

随着计算机的发展,计算器也逐渐发展成为计算机软件的一部分,通过软件实现计算器的功能,使计算器更易于使用和拓展。

本文使用JAVA编程语言,设计和实现了一个简单的计算器功能。

2.设计和实现2.1设计思路JAVA计算器的设计采用了面向对象的设计思想,将计算器的各个功能抽象成对象,并通过调用对象的方法来实现计算器的各种功能。

为了方便用户的使用,设计了一个用户界面,用户可以输入计算表达式,并通过点击按钮来进行运算。

JAVA的图形用户界面库Swing提供了丰富的组件和容器,本文使用了文本框、按钮等控件,来实现用户界面的设计。

2.2用户界面设计用户界面是用户和计算器之间的纽带,影响用户对计算器的使用体验。

本文实现了一个简单的用户界面,主要由一个文本框和一系列按钮组成。

用户可以在文本框中输入需要计算的表达式,并通过点击按钮来触发相应的计算操作。

2.3计算过程在用户输入表达式后,通过解析表达式,将其分解为操作数和操作符。

操作数可以是整数、小数或者其他表达式。

通过调用JAVA的计算功能,对操作数进行计算,并得到计算结果。

将结果显示在用户界面中。

JAVA编写的计算器源代码

JAVA编写的计算器源代码

JAVA编写的计算器源代码// Calculator.javaimport javax.swing.*; // 引入swing库import java.awt.*; // 引入awt库import java.awt.event.*; // 引入awt.event库public class Calculator extends JFrame implements ActionListener//定义按钮private JButton zero;private JButton one;private JButton two;private JButton three;private JButton four;private JButton five;private JButton six;private JButton seven;private JButton eight;private JButton nine;private JButton point;private JButton equal; private JButton plus; private JButton minus; private JButton multiply; private JButton divide; private JButton backspace; private JButton ac;private JButton ce;private JButton sqrt; private JButton sqr;private JButton plus_minus; private JButton delete; private JButton sin;private JButton cos;private JButton tan;private JButton log;private JButton nfactorial; private JButton cubic; private JButton coln;private JButton factorial;//定义文本框private JTextField resulttext;// 定义boolean变量boolean clrdisp = true; // 昵称确定是否清除计算器显示boolean isCalculate = false; // 是否可以执行计算// 定义String变量,用于存储操作符String optr;//定义存储第一个操作数double num1;//初始化构造函数public Calculato//设置布局setLayout(new BorderLayout();//创建面板JPanel northPanel = new JPanel(;JPanel centerPanel = new JPanel(;JPanel southPanel = new JPanel(;//设置面板布局northPanel.setLayout(new FlowLayout(); centerPanel.setLayout(new GridLayout(4, 5)); southPanel.setLayout(new FlowLayout();//设置计算器显示resulttext = new JTextField(28); northPanel.add(resulttext);resulttext.setEditable(false);//初始化按钮zero = new JButton("0");one = new JButton("1");two = new JButton("2");three = new JButton("3");four = new JButton("4");five = new JButton("5");six = new JButton("6");seven = new JButton("7");eight = new JButton("8");nine = new JButton("9");point = new JButton(".");equal = new JButton("=");plus = new JButton("+");minus = new JButton("-"); multiply = new JButton("*"); divide = new JButton("/"); backspace = new JButton("<-"); ac = new JButton("AC");ce = new JButton("CE");sqrt = new JButton("sqrt");sqr = new JButton("sqr");plus_minus = new JButton("+/-");。

基于java的简易计算器的设计

基于java的简易计算器的设计

基于java的简易计算器的设计摘要自从java语言诞生以来,java语言就以不可抵挡的趋势很快成为国际上广泛流行的面向对象编程语言,它既具有高级语言的特点,又少了C语言中指针特点,因而变得简单了很多。

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,其具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

本文介绍了用java语言编写一个简易计算器。

实现数学上的加、减、乘、除、乘方、开方、阶乘、正弦、余弦运算等相关运算。

利用这个程序可以方便的进行日常性的小规模运算,小巧简易,是个实用的工具。

关键词:程序设计;简易计算器;java语言THE DESIGN OF SIMPLE CALCULATOR BASED ON JA V AABSTRACTSince the inception of the java language, java language Take irresistible trend soon beca me widespread international popular object-oriented programming language, both with advan ced language features, and less of the C language pointer characteristics, and thus becomes a l ot simpler . Java is a cross-platform application software can write object-oriented programmi ng language, which has excellent versatility, efficiency, platform portability, and security, are widely used in personal PC, data center, gaming consoles, scientific super-computers, mobile phones and the Internet, also has the world's largest developer of professional community. In t he global cloud computing and mobile Internet industry environment, Java and more have sig nificant advantages and broad prospects.This article describes the use java language a simple calculator. Achieve mathematical addition, subtraction, multiplication, division, involution, evolution, factorial, sine, cosine op erations and other related operations. With this program you can easily carry out daily operati ons of small-scale, small simple, is a useful tool.Key words:program design;simple calculator;java language目录1前言 (1)1.1 课程设计背景 (1)1.2 需求环境 (1)1.3 课程设计思路 (1)2课程设计概要 (2)3 计算器详细设计 (3)3.1 计算器界面……….………….........………………………………………. .33.1.1 CAL主类的显示分布 (3)3.1.2计算器显示界面实现代码 (3)3.2 监听各个按钮的类 (5)3.2.1 编写监听类目的 (5)3.2.2 监听类实现代码 (5)3.3 按键响应类 (7)3.3.1 响应类编写的目的 (7)3.2.2 响应类实现代码 (7)3.3 运算处理类 (9)3.3.1 处理方式 . (9)3.2.2 处理类实现代码 (9)4 运行与调试 (12)4.1 进入程序主界面 (12)4.2 加减乘除功能实现 (12)4.3 正余弦、正切功能实现 (13)4.4 阶乘功能实现 (13)4.5 乘方、开方功能实现 (14)5 实验总结 (15)参考文献 (16)附录:源代码 (17)1 前言1.1 课程设计背景日常生活中我们经常会遇到一些小型数据计算的问题,本课程设计就是以此为出发点,设计了这样一个简单的计算器,用以实现基本的数学运算。

北邮JAVA第三次作业科学计算器(附源代码)

北邮JAVA第三次作业科学计算器(附源代码)

北邮JAVA第三次作业科学计算器(附源代码)JAVA第三次作业选题:科学计算器一、设计思路(1)布局1.数字键盘有0~9和小数点2.符号键盘有+某÷,幂,开方,lg,ln3.功能按键有清屏(AC)和删除(Del)(2)计算器流程状态转移图设定的标志位和变量有:booleannumflag=fale;//标志:是否输入数字booleanopflag=fale;//标志:是否输入运算操作符Stringt某t=null;//显示到文本框里的字符串Stringnum_t某t=\;//当前操作数的字符串形式Stringop=\;//存放输入的运算操作符num1=0;//第一个操作数num2=0;//第二个操作数privateBigDecimalbig_num1=newBigDecimal(Double.toString(0)); //解决浮点数的精度丢失问题privateBigDecimalbig_num2=newBigDecimal(Double.toString(0));1.关于操作数操作数为输入数字时会改变的数,有num1和num2。

按下运算符和控制字符,会设定当前下在键入的操作数,由opflag控制,fale表示正在操作num1,true表示正在操作num2。

初始状态下的操作数为num1。

按下AC会恢复操作数为初始状态num1。

按Delete、开方、lg、ln不会改变当前的操作数。

其中后三者只对num1有效。

其他的运算符和控制符都会使操作数为num2。

2.计算器的状态框图输入第一个数,比如53numflag=true(num1)opflag=falenum_t某t=”53”op=””t某t=”53”初始状态numflag=faleopflag=falenum_t某t=””op=””t某t=nullnum1,num2=0按下一个运算符,比如+numflag=faleopflag=truenum_t某t=””op=”+”t某t=”num1+”其中按下按=显示结果,恢复初始状态numflag=true(num1)opflag=falenum_t某t=””op=””t某t=”reult”“=”后,结果存输入第二个数,比如66入numflag=true(num2)opflag=truenum_t某t=”66”op=””t某t=”num1+66”num1,继续输入数字会在num1的结果上处理。

java简易计算器设计思路

java简易计算器设计思路

java简易计算器设计思路Java简易计算器设计思路一、引言计算器是我们日常生活中常用的工具之一,可以帮助我们进行各种简单的数学计算。

本文将介绍如何使用Java编程语言设计一个简易的计算器。

二、功能需求我们的计算器需要具备以下基本功能:1. 实现加、减、乘、除四则运算;2. 能够处理小数、整数和负数的运算;3. 具备清除操作,清零当前计算结果;4. 能够处理连续计算,即进行多次连续的运算。

三、设计思路在设计简易计算器时,我们可以考虑以下步骤:1. 用户界面设计首先,我们需要设计一个用户界面,让用户能够输入数字和选择运算符号。

可以使用Java的Swing或JavaFX进行界面设计。

2. 输入数字和运算符在用户界面中,我们可以使用文本框和按钮来实现数字的输入和运算符的选择。

用户在文本框中输入数字,然后点击相应的按钮选择运算符号。

3. 运算处理根据用户的选择,我们可以利用Java中的if或switch语句来进行相应的运算处理。

比如用户选择加法运算,则获取用户输入的两个数字并相加。

同样,对于减法、乘法和除法运算,我们也可以使用相应的语句进行处理。

4. 显示结果最后,我们需要将计算结果显示在用户界面的文本框中。

将处理后的结果显示在界面上,让用户直观地看到计算结果。

5. 清除操作我们还可以添加一个清除按钮,使用户能够清除当前的计算结果,重新进行新的计算。

四、扩展功能除了基本的计算功能外,我们还可以考虑增加以下扩展功能:1. 添加括号功能,使计算器能够处理复杂的表达式;2. 添加开平方、取余、求幂等高级运算;3. 添加历史记录功能,保存用户之前的计算结果;4. 添加单位转换功能,使计算器能够进行长度、重量、温度等单位之间的转换。

五、总结通过以上设计思路,我们可以实现一个简易的计算器,满足用户的基本计算需求。

同时,我们可以根据实际需求添加扩展功能,提升计算器的实用性和灵活性。

希望本文对您设计和实现一个Java简易计算器有所帮助。

(完整word版)java设计的房贷计算器

(完整word版)java设计的房贷计算器
yuehuankuan = zonge1 / nian / 12 ;
for(int i=1;i <= nian*12;i++){
yuehuanbenjin =benjin / nian /12;
yuehuankuan = (int) (yuehuanbenjin + lilv / nian / 12 *(nian * 12 - i)*yuehuanbenjin*0.01);
System.out.println("3。退出-> C *");
System.out.println("************************************************"); //菜单提示
double lilv;
double benjin;
int nian;
int yuehuankuan;
Scanner reader1=new Scanner(System.in);
System.out.print("请输入年利率:");
lilv= reader1.nextInt();
System.out.print("请输入贷款总额:");
benjin= reader1.nextDouble();
System.out.print("请输入还款年限:");
//java编写的房贷计算器ห้องสมุดไป่ตู้
//@王强出品
import java.util.*;
public class fangdai {
public static void main(String args[]) throws InterruptedException

JAVA保存计算过程的计算器课程设计报告

JAVA保存计算过程的计算器课程设计报告
process.setHorizontalAlignment(JTextField.LEFT);
process.setForeground(Color.blue);
process.setFont(new Font("TimesRoman",Font.PLAIN,14));
process.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
6
在做本项目是时候, 会遇到很多问题, 最大的问题的如何保存已经输入的数字或者符号进行运算, 如何显示运算过程, 经过多次研究和查询发现运可以运用链表进行存储和提取数据, 用栈也是可以的。
此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。在完成课题的过程中也不断充实了自己, 学习到了很多以前没有学习到的知识, 收获很大。最大的收获是在弯完成过程中培养的解决问题的能力, 在做项目时必然会遇到困难, 会有不会的东西, 重要的不是现在会不会, 而是遇到问题知道如何找到解决的途径。还使我对所学知识能够融会贯通, 又不断丰富了新知识。Java计算器设计使得我们对所学的专业课有了更为深刻的认识, 使得知识得到了巩固和提高。
panel.add(numberButton[1]);
panel.add(numberButton[2]);
panel.add(numberButton[3]);
Panel.add(numberButton[4]);
panel.add(numberButton[5]);
panel.add(numberButton[6]);
等号按钮.addActionListener(this);
小数点按钮.addActionListener(this);

简单计算器程序设计

简单计算器程序设计

《网络编程技术》结课论文2012 — 2013学年第二学期题目:简单计算器程序专业班级:网信10-2学号:************姓名:-----------指导老师:---------日期:2013-06-25目录1引言 (3)2基础理论 (3)2.1 AWT 组件 (3)2.2 Swing 组件 (3)2.3 java事件处理机制 (4)3 功能设计 (5)3.1计算器系统概述 (5)3.2功能模块设计 (6)3.3详细设计 (6)4 系统实现 (7)4.1需求分析 (7)4.2设计思路 (8)4.3主要代码展示及说明 (8)4.4调试与分析 (12)5 总结 (12)参考文献 (13)1引言近年来随着计算机和网络在社会领域的发展,java的应用正在不断地走向深入, Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。

Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。

Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。

特别是Java企业应用编程接口为企业计算及电子商务应用系统提供了有关技术和丰富的类库。

本次设计是通过java编程技术来设计一个图形界面(GUI)的计算器应用程序,完成简单的算术运算,该计算器可以实现加法、减法、乘法、除法的简单运算,也可以实现一些简单的扩展运算,这次课程设计的主要目的在于检测对java 应用的熟练程度,发现问题并及时改正和提高,同时扩展对java知识的进一步了解和认识,强化自己的编程能力,为将来在新的旅途中能更好的发挥自身的才能!2基础理论2.1 AWT 组件布局管理器管理组件如何放置在容器中,AWT 中最常用的四种布局类:FlowLayout、BorderLayout、GridLayout、CardLayout。

本项目主要采用了GridLayout 布局。

java编写一个贷款计算器

java编写一个贷款计算器

java编写⼀个贷款计算器https:///flueky/article/details/77099454 房贷有两种贷款⽅式:1是等额本息还款;2是等额本⾦还款。

简单的说就是等额本息就是每⽉还款额相等,⽐如⼀个⽉固定还款3000元,每⽉不变,就是这种等额本息还款的⽅式。

另外⼀种就是每⽉还款额不等,⼀个⽉⽐⼀个⽉少点。

但是还款初期还款额⽐较⼤,越往后还款越少。

具体哪种适合⾃⼰要结合⾃⾝的情况。

如果看利息的话第⼆种还款总利息要少于第⼀种。

好了我们现在再说⼀下两者还款的计算⽅式: (⼀)等额本息还款: 每⽉还本付息=【贷款本⾦x⽉利率x(1+⽉利率)^还款⽉数】/【(1+⽉利率)^还款⽉数-1】 每⽉还利息=剩余本⾦x贷款⽉利率(第⼀个⽉的本⾦就是贷款额,逐⽉递减) 每⽉还款本⾦=每⽉还款⾦额-每⽉还利息 剩余本⾦=上⽉剩余本⾦-本⽉偿还本⾦ 还款总利息=贷款额X贷款⽉数x⽉利率x(1+⽉利率)^还款⽉数/【(1+还款⽉数)^还款⽉数-1】-贷款总额 注:^这个符号是次⽅的意思 主要计算公式就是这样,等额本息公式详细推导过程并不是很难,应⽤⾼中阶段的数学知识就可以完全理解清楚。

(⼆)等额本⾦还款 每⽉还本付息=(本⾦/还款⽉数)+(本⾦-累计已还本⾦)x⽉利率 每⽉本⾦=总本⾦/还款⽉数 每⽉利息=(本⾦-累计已还本⾦)x⽉利率 还款总利息=(还款⽉数+1)x贷款额x⽉利率/2java编写⼀个简易版贷款计算器1 import javax.swing.*;2 import java.awt.*;3 import java.awt.event.*;4 import javax.swing.border.*;56 public class LoanCalculator extends JFrame {7 private class ButtonListener implements ActionListener {8 @Override9 public void actionPerformed(ActionEvent e) {10 // TODO Auto-generated method stub11 double interest=12 Double.parseDouble(jtfAnnualInterestRate.getText());13 int year=14 Integer.parseInt(jtfNumberOfYears.getText());15 double loanAmount=16 Double.parseDouble(jtfLoanAmount.getText());1718 double monthlyInterest=interest/1200;19 double monthlyPayment= loanAmount*monthlyInterest/(1-1/Math.pow(1+monthlyInterest,20 year*12));21 double totalPayment=monthlyPayment*year*12;2223 jtfMonthlyPayment.setText(String.format("%.2f", monthlyPayment));24 jtfTotalPayment.setText(String.format("%.2f", totalPayment));25 }26 }2728 private JTextField jtfAnnualInterestRate=new JTextField();29 private JTextField jtfNumberOfYears=new JTextField();30 private JTextField jtfLoanAmount=new JTextField();31 private JTextField jtfMonthlyPayment=new JTextField();32 private JTextField jtfTotalPayment=new JTextField();3334 private JButton jbtComputeLoan=new JButton("Compute Payment");3536 public LoanCalculator(){37 JPanel p1=new JPanel(new GridLayout(5,2));38 p1.add(new JLabel("Annual Interest Rate"));39 p1.add(jtfAnnualInterestRate);40 p1.add(new JLabel("Number of Years"));41 p1.add(jtfNumberOfYears);42 p1.add(new JLabel("Loan Amount"));43 p1.add(jtfLoanAmount);44 p1.add(new JLabel("Monthly Payment"));45 p1.add(jtfMonthlyPayment);46 p1.add(new JLabel("Total Payment"));47 p1.add(jtfTotalPayment);48 p1.setBorder(new TitledBorder("Enter loan amount, interest rate,"49 + " and year"));5051 JPanel p2=new JPanel(new FlowLayout(FlowLayout.RIGHT));52 p2.add(jbtComputeLoan);53 add(p1,BorderLayout.CENTER);54 add(p2,BorderLayout.SOUTH);55 jbtComputeLoan.addActionListener(new ButtonListener());5657 }5859 public static void main(String[] args) {60 // TODO Auto-generated method stub61 LoanCalculator frame=new LoanCalculator();62 frame.setTitle("LoanCalculator");63 frame.pack();64 frame.setLocationRelativeTo(null);65 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);66 frame.setVisible(true);67 }6869 }另⼀种编写⽅式:https:///flueky/article/details/77099454注:利率⼀律按照4.9计算。

java简易计算机代码

java简易计算机代码

java简易计算机代码Java是一种面向对象的编程语言,广泛应用于计算机编程领域。

下面我们来看一段简易的Java代码,实现一个计算器的功能。

我们需要定义一个Calculator类,代码如下:```javapublic class Calculator {// 定义两个整型变量,用于存储输入的数字private int num1;private int num2;// 构造方法,用于初始化Calculator对象public Calculator(int num1, int num2) {this.num1 = num1;this.num2 = num2;}// 加法运算方法public int add() {return num1 + num2;}// 减法运算方法public int subtract() {return num1 - num2;}// 乘法运算方法public int multiply() {return num1 * num2;}// 除法运算方法public double divide() {// 判断除数是否为0,避免除以0的错误if (num2 != 0) {return (double)num1 / num2;} else {System.out.println("除数不能为0!");return 0;}}// 主方法,程序入口public static void main(String[] args) {// 创建一个Calculator对象,传入两个待计算的数值Calculator calculator = new Calculator(10, 5);// 调用加法运算方法,并输出结果int sum = calculator.add();System.out.println("两数之和:" + sum);// 调用减法运算方法,并输出结果int difference = calculator.subtract();System.out.println("两数之差:" + difference);// 调用乘法运算方法,并输出结果int product = calculator.multiply();System.out.println("两数之积:" + product);// 调用除法运算方法,并输出结果double quotient = calculator.divide();if (quotient != 0) {System.out.println("两数之商:" + quotient);}}}```在上面的代码中,我们首先定义了一个Calculator类,包含了两个私有的整型变量num1和num2,用于存储输入的数字。

用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 java.awt.event.KeyEvent;import java.awt.event.KeyListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JTextField;/使用java 语言开发一个简易计算器/public class TestJsq extends JFrame implements ActionListener, KeyListener {private JTextField jtf;private JButton jb_bk, jb_ce, jb_c;private String xs = "";private double sum = 0;private int fh;public static void main(String[] args) {new TestJsq().creatCUI();}public void creatCUI() {JFrame jf = new JFrame();jf.setTitle("计算器");jtf = new JTextField("0.");jtf.setHorizontalAlignment(JTextField.RIGHT);jf.add(jtf, BorderLayout.NORTH);JPanel jp_main = new JPanel(new BorderLayout());jf.add(jp_main);JPanel jp1 = new JPanel(new GridLayout(1, 3, 1, 1));jb_bk = new JButton("Backspace");jb_bk.setForeground(Color.RED);jb_bk.addActionListener(this);jb_ce = new JButton("CE");jb_ce.setForeground(Color.RED);jb_ce.addActionListener(this);jb_c = new JButton("C");jb_c.setForeground(Color.RED);jb_c.addActionListener(this);jp1.add(jb_bk);jp1.add(jb_ce);jp1.add(jb_c);jp_main.add(jp1, BorderLayout.NORTH);JPanel jp2 = new JPanel(new GridLayout(4, 5, 1, 1));String str[] = { "7", "8", "9", "/", "sqrt", "4", "5", "6", "", "%","1", "2", "3", "-", "1/x", "0", "+/-", ".", "+", "=" };for (int i = 0; i < 20; i++) {JButton jb = new JButton(str[i]);jb.addActionListener(this);jb.setForeground(Color.blue);if (i == 3 || i == 8 || i == 13 || i == 18 || i == 19) { jb.setForeground(Color.RED);}jp2.add(jb);}jp_main.add(jp2, BorderLayout.CENTER);jf.setResizable(false);jf.setBounds(50, 50, 350, 350);jf.setVisible(true);}Overridepublic void actionPerformed(ActionEvent e) {String s = e.getActionCommand();if (s.equals("CE") || s.equals("C")) {xs = "";jtf.setText("0.");} else if (s.equals("Backspace")) {String str = xs.substring(0, xs.length() - 1);xs = str;jtf.setText(xs);} else if (s.equals("7") || s.equals("8") || s.equals("9") || s.equals("4") || s.equals("5") || s.equals("6")|| s.equals("1") || s.equals("2") || s.equals("3")|| s.equals("0") || s.equals(".")) {xs = xs + s;jtf.setText(xs);} else if (s.equals("+/-")) {double x = Double.parseDouble(xs);xs="" + (-x);jtf.setText(xs);} else if (s.equals("/")) {fh = 4;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("")) {fh = 3;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("-")) {fh = 2;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("+")) {fh = 1;int point = xs.indexOf(".");if (point = -1) {String strt = xs.substring(0, point);String z = xs.substring(point + 1, xs.length());int z_num = z.length();sum = Integer.decode(strt) + (double) (Integer.decode(z))/ (10 z_num);} else {sum = Integer.decode(xs);}xs = "";jtf.setText(null);} else if (s.equals("sqrt")) {double x = Double.parseDouble(xs);double x1 = Math.sqrt(x);xs = x1 + "";jtf.setText(xs);} else if (s.equals("%")) {double x = Double.parseDouble(xs);x=0.01 xx;xs=x+"";jtf.setText(xs);} else if (s.equals("1/x")) {if (xs == "0") {jtf.setText("除数不能为0");} else {double x = Double.parseDouble(xs);double x1 = 1 / x;xs = x1 + "";jtf.setText(String.valueOf(xs));}} else if (s.equals("=")) {if (fh = 0) {switch (fh) {case 1:int point1 = xs.indexOf(".");if (point1 = -1) {String s1 = xs.substring(0, point1);String z1 = xs.substring(point1 + 1, xs.length());int z1_num = z1.length();xs = "";double ss1 = Integer.decode(s1)+ (double) Integer.decode(z1) / (10 z1_num);sum = sum + ss1;} else {sum = sum + Integer.decode(xs);xs = "";}fh = 0;break;case 2:int point2 = xs.indexOf(".");if (point2 = -1) {String s2 = xs.substring(0, point2);String z2 = xs.substring(point2 + 1, xs.length());int z2_num = z2.length();xs = "";double ss2 = Integer.decode(s2)+ (double) Integer.decode(z2) / (10 z2_num);sum = sum - ss2;} else {sum = sum - Integer.decode(xs);xs = "";}fh = 0;break;case 3:int point3 = xs.indexOf(".");if (point3 = -1) {String s3 = xs.substring(0, point3);String z3 = xs.substring(point3 + 1, xs.length());int z1_num = z3.length();xs = "";double s4 = Integer.decode(s3)+ (double) Integer.decode(z3) / (10 z1_num);sum = sum s4;} else {sum = sum Integer.decode(xs);xs = "";}fh = 0;break;case 4:int point4 = xs.indexOf(".");if (point4 = -1) {String s4 = xs.substring(0, point4);String z4 = xs.substring(point4 + 1, xs.length());int z4_num = z4.length();xs = "";double s5 = Integer.decode(s4)+ (double) Integer.decode(z4) / (10 z4_num);sum = sum / s5;} else {sum = sum / Integer.decode(xs);xs = "";}fh = 0;break;default:break;}xs = String.valueOf(sum);jtf.setText(xs);fh = 0;} else {jtf.setText(null);}}}Overridepublic void keyPressed(KeyEvent e) {// TODO Auto-generated method stub}Overridepublic void keyReleased(KeyEvent e) { // TODO Auto-generated method stub }Overridepublic void keyTyped(KeyEvent e) { // TODO Auto-generated method stub }}。

最新js-cal网页简易计算器

最新js-cal网页简易计算器

s-ca I网页简易计算口口JS-简易计算器—、要求:在网页中编程实现一个简单的计算器.它能提供加减乘除四则运算,它支持IE浏览器。

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

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

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

三、程序界面四、界面编码VDOCTYPE html PUBLIC U-//W3C//DTD XHTML 1.0 Tiansitional//EN U <html xmlns=”http :〃www. w3 .oig/1999/xlitml M><head><meta littp-equiv=n Content-Type n content=n text/htnil; cliaiset=gb2312,r /><title>简易计算器</title></head> <body><table width=n 33%M height 』193” boide"”〉<ti><td colspan=u 4H ><input type=H text n size=n 50M nanie=u iesult n id=n result H ></td> </ti> <ti><td widtli=H 24%n ><iiiput type=H button u value 』 1 onclick=H getNum(l)H x/td> <td width=u 23%n ><iiiput type=n button ,r value 』 2 onclick=H getNum(2)H x/td> <td widtli=H 26%n ><iiiput type=H button u value 』 3 onclick=H getNum(3)H x/td> <td widtli=H 27%n ><iiiput type=H button u value 』 + onclick="getNum('+,)"></td> </tI></table> <scnpt type=H text?javascnpt H language=n javascnpt n >〃判断是否清空 var clearContent=false; 〃获得数字fxmction getNum(num){ if(clearContent){〃如果已经有结果存在则将其清空 document.getElementById(u fesult n ).value=nn ; cleaiC ontent=false; }〃获取结果对象vai objresult=document.getElementById(u iesult u ); 〃实现数字连接<ti><td><iiiput type=H button H value 』<td><iiiput type=H button H value 』<td><iiiput type=H button Hvalue 』 <td><iiiput type=H button r, value=n</ti> <ti><td><iiiput type=H button H value 』 <td><iiiput type=H button H value 』 <td><iiiput type=H button H value=n <td><iiiput type=H button Hvalue 』</ti><ti> <td><iiiput type=H button Hvalue 』<td><iiiput type=H button H value 』 <td><iiiput type=H button H value 』<td><iiiput type=H button H value 』4 H onclick=H getNum(4)l!></td>5 ” onclick="getNuni(5)"></td>6 ” onclick="getNuni(6)"></td> -Monclick=H getNuni(L ,)nx/td> 7 n onclick=H getNum(7)l!></td>8 ” onclick="getNum(8)',x/td> 9 " onclick="getNum(9)H ></td> * ” onclick="getNum(,*,),'></tcl>0 ” onclick="getNuni(0)n></td> ."onclick="getNum(,.')',x/td>="onclick="getResult()H ></td> / 11onclick=H getNum(7,)H></td>objiesult.value+=num;}〃获取结果对象值fxmction getResult(){vai objresult2=document.getEiementById(n result H);〃为结果赋值objresult2.value=objresult2.value+,-H+eval(objiesult2.value); cleaiContent=tme; }</scnpt></bodv>J。

JAVA实验汇总

JAVA实验汇总

JAVA实验汇总1.实验名称:计算器程序开发实验目标:编写一个简单的计算器程序,能够实现基本的四则运算。

实验步骤:(1) 创建一个名为Calculator的类。

(2) 在Calculator类中定义四个方法,分别用于实现加法、减法、乘法和除法运算。

(3) 使用Scanner类的对象从用户输入中获取两个操作数和一个操作符。

(4)根据输入的操作符来调用相应的方法进行运算,并输出结果。

(5)运行程序,测试各种运算。

2.实验名称:学生信息管理系统开发实验目标:编写一个学生信息管理系统,能够实现学生信息的录入、查询、修改和删除等功能。

实验步骤:(1) 创建一个名为Student的类,该类包含学生的学号、姓名和成绩等属性。

(2) 创建一个名为StudentSystem的类,该类包含学生信息的管理功能。

(3) 在StudentSystem类中使用ArrayList集合存储学生信息。

(4) 实现录入学生信息的功能,包括学号、姓名和成绩的输入,并将学生信息添加到ArrayList集合中。

(5)实现查询学生信息的功能,根据学号或姓名进行查询,并输出找到的学生信息。

(6) 实现修改学生信息的功能,根据学号或姓名进行查询,然后允许用户修改学生的姓名和成绩,并更新ArrayList中的学生信息。

(7) 实现删除学生信息的功能,根据学号或姓名进行查询,然后从ArrayList中删除学生信息。

(8)运行程序,测试各种功能。

3.实验名称:图书管理系统开发实验目标:编写一个图书管理系统,能够实现图书的录入、借出、归还和查询等功能。

实验步骤:(1) 创建一个名为Book的类,该类包含图书的编号、书名和借出状态等属性。

(2) 创建一个名为Library的类,该类包含图书信息的管理功能。

(3) 在Library类中使用HashMap集合存储图书信息,键为图书的编号,值为Book类的对象。

(4) 实现录入图书的功能,包括图书编号、书名和借出状态的输入,并将图书信息添加到HashMap集合中。

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

计算器项目内容:编写一个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 .*;importimportimportpublic class Calculatorimplements 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);(topHelp);(aboutCal);(editMenu);(viewMenu);(helpMenu);(mainMenu, ;(textAnswer, ;(panel1, ;(new BorderLayout());textMemory = new JTextField(3);(false);(new Color(217, 217, 217));labelMemSpace = new JLabel(" "); buttonBk = new JButton("Backspace");(new Color(255, 0, 0));buttonCe = new JButton("CE");(new Color(255, 0, 0));buttonC = new JButton("C");(new Color(255, 0, 0));(this);(this);(this);(panel2, ;(new FlowLayout);(textMemory);(labelMemSpace);(buttonBk);(buttonCe);(buttonC);panel3 = new JPanel();(panel3, ;button = new JButton[10];for (int i = 0; i < ; i++) { button[i] = new JButton(i));button[i].setForeground(new Color(0, 0, 255)); }buttonMC = new JButton("MC");(new Color(255, 0, 0));buttonMR = new JButton("MR");(new Color(255, 0, 0));buttonMS = new JButton("MS");(new Color(255, 0, 0));buttonMAdd = new JButton("M+");(new Color(255, 0, 0));buttonDot = new JButton(".");(new Color(0, 0, 255));buttonAddAndSub = new JButton("+/-");(new Color(0, 0, 255));buttonAdd = new JButton("+");(new Color(255, 0, 0));buttonSub = new JButton("-");(new Color(255, 0, 0));buttonMul = new JButton("*");(new Color(255, 0, 0));buttonDiv = new JButton("/");(new Color(255, 0, 0));buttonMod = new JButton("%");(new Color(0, 0, 255));buttonSqrt = new JButton("sqrt"); (new Color(0, 0, 255));buttonDao = new JButton("1/x");(new Color(0, 0, 255));buttonEqual = new JButton("=");(new Color(255, 0, 0));ddActionListener(this);(button[8]);button[8].addActionListener(this); (button[9]);button[9].addActionListener(this); (buttonDiv);(this);(buttonSqrt);(this);(buttonMR);(this);(button[4]);button[4].addActionListener(this); (button[5]);button[5].addActionListener(this); (button[6]);button[6].addActionListener(this); (buttonMul);(this);(buttonMod);(this);(buttonMS);(this);(button[1]);button[1].addActionListener(this); (button[2]);button[2].addActionListener(this); (button[3]);button[3].addActionListener(this); (buttonSub);(this);(buttonDao);(this);(buttonMAdd);(this);(button[0]);button[0].addActionListener(this); (buttonAddAndSub);(this);(buttonDot);(this);(buttonAdd);(this);(buttonEqual);(this);;();();}按钮时,判断当前文本框内字符串中含不含'.',如果已含,则不允许再插入'.' if (temp == buttonDot && clickable == true) {boolean isDot = false;if ().length() == 0)isDot = true;for (int i = 0; i < ().length(); i++)if ('.' == ().charAt(i)) {isDot = true;break;}if (isDot == false)() + ".");}if ( (temp == buttonAdd || temp == buttonSub || temp == buttonMul || temp == buttonDiv) && clickable == true) {ength(); i++)if ('.' == ().charAt(i)) {isDot = true;break;}harAt(0) == '0' &&().length() == 1) {("零不能求倒数");clickable = false;}else {boolean isDec = true;int i, j, k;String s = (1 / ()));for (i = 0; i < (); i++)if (i) == '.')break;for (j = i + 1; j < (); j++) if (j) != '0') {isDec = false;break;}if (isDec == true) {String stemp = "";for (k = 0; k < i; k++)stemp += (k);(stemp);}else(s);}}||(i) == '-')) {isNumber = false;break;}if (isNumber == true) {ength(); i++)if ('.' == ().charAt(i)) {isDot = true;break;}ength(); i++)if ('.' == ().charAt(i)) {isDot = true;break;}if (memoryi != 0) { //存储中是一个int型数if (isDot == false) //被加数是一个int型数memoryi += ());else { //被加数是一个double型数,则将int存储器中数传入double存储器与当前数相加,int存储器清零memoryd = memoryi + ());memoryi = 0;}}elsememoryd += ());}//按下'Backspace'键,利用循环将当前字符串中的最后一个字母删除 if (temp == buttonBk && clickable == true) {String s = ();("");for (int i = 0; i < () - 1; i++) {char a = (i);() + a);}}//按下'CE'按钮,将当前文本框内数据清除if (temp == buttonCe) {("");clickable = true;}//按下'C'按钮,文本框内数据清除,同时var,answer清0if (temp == buttonC) {vard = answerd = 0;("");clickable = true;}//按下'复制'菜单栏if (temp == copyItem) {copy = ();}//按下'粘贴'菜单栏if (temp == pasteItem) {(copy);}if (temp == sItem) {(panel, "当前是标准型计算器,\n科学型计算器有待更新。

相关文档
最新文档