`

计算器代码

 
阅读更多

import java.awt.*; 
import java.awt.event.*; 
import javax.swing.*;
public class Calculator 
{ 
public static void main(String[] args) 
{ 
CalculatorFrame frame=new CalculatorFrame(); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setVisible(true); 
} 
}
class CalculatorFrame extends JFrame 
{ 
public CalculatorFrame() 
{ 
setTitle("Calculator"); 
CalculatorPanel panel=new CalculatorPanel(); 
add(panel); 
pack(); 
} 
}
class CalculatorPanel extends Panel 
{ 
public CalculatorPanel() 
{ 
setLayout(new BorderLayout());
result=0; 
lastCommand="="; 
start=true; 
flag=true;
display=new JButton("0"); 
display.setEnabled(false); 
add(display,BorderLayout.NORTH);
ActionListener insert=new InsertAction(); 
ActionListener command=new CommandAction();
panel=new JPanel(); 
panel.setLayout(new GridLayout(4,5));
addButton("7",insert); 
addButton("8",insert); 
addButton("9",insert); 
addButton("/",command); 
addButton("CE",command);
addButton("4",insert); 
addButton("5",insert); 
addButton("6",insert); 
addButton("*",command); 
addButton("Backspace",command);
addButton("1",insert); 
addButton("2",insert); 
addButton("3",insert); 
addButton("-",command); 
addButton("sqrt",command);
addButton("0",insert); 
addButton(".",insert); 
addButton("=",command); 
addButton("+",command); 
addButton("1/x",command);
add(panel,BorderLayout.CENTER); 
} 
private void addButton(String label,ActionListener listener) 
{ 
JButton button=new JButton(label); 
button.addActionListener(listener); 
panel.add(button); 
} 
private class InsertAction implements ActionListener 
{ 
public void actionPerformed(ActionEvent event) 
{ 
String input=event.getActionCommand(); 
if(start&&flag) 
{ 
display.setText(""); 
start=false; 
} 
if(flag) 
display.setText(display.getText()+input); 
} 
} 
private class CommandAction implements ActionListener 
{ 
public void actionPerformed(ActionEvent event) 
{ 
String command=event.getActionCommand();
if(command.equals("CE")) 
{ 
display.setText("0"); 
start=true; 
flag=true; 
command="="; 
} 
else 
if(start&&flag) 
{ 
if(command.equals("-")) 
{ 
display.setText(command); 
start=false; 
} 
else 
if((command.equals("1/x")||command.equals("sqrt"))&&flag) 
calculate(Double.parseDouble(display.getText()),command); 
else 
if(flag) 
lastCommand=command; 
} 
else 
{ 
if(command.equals("Backspace")&&flag) 
{ 
String s=display.getText(); 
char[] s1=s.toCharArray(); 
if(s.length()>=2) 
{ 
String s2=new String(s1,0,s.length()-1); 
display.setText(s2); 
} 
else 
{ 
display.setText("0"); 
start=true; 
}
} 
else if(flag) 
{ 
calculate(Double.parseDouble(display.getText()),command);
lastCommand=command; 
start=true; 
} 
} 
} 
}
public void calculate(double x,String command) 
{ 
if(lastCommand.equals("+")) result+=x; 
else if(lastCommand.equals("-")) result-=x; 
else if(lastCommand.equals("/")) 
{ 
if(x!=0) 
result/=x; 
else 
{ 
display.setText("除数不能为0"); 
start=false; 
flag=false; 
return; 
} 
} 
else if(lastCommand.equals("*")) result*=x; 
else if(command.equals("1/x")) 
{ 
if(x!=0) 
result=1/x; 
else 
{ 
display.setText("除数不能为0"); 
start=false; 
flag=false; 
return; 
}
} 
else if(command.equals("sqrt")) 
{ 
if(x>=0) 
result=Math.sqrt(x); 
else 
{ 
display.setText("函数输入无效"); 
start=false; 
flag=false; 
return; 
} 
} 
else if(lastCommand.equals("=")) result=x;
display.setText(""+result); 
} 
private JButton display; 
private JPanel panel; 
private double result; 
private String lastCommand; 
private boolean start; 
private boolean flag;
}
分享到:
评论

相关推荐

    计算器代码 js + html

    当提到“计算器代码 js + html”,我们指的是使用这两种语言来创建一个交互式的在线计算工具。在这个特定的例子中,我们有三个计算器:房贷计算器、公积金计算器和车贷计算器。这些工具通常用于帮助用户估算他们的...

    java计算器代码(gui界面)

    java计算器代码,初学者专用java计算器代码,初学者专用java计算器代码,初学者专用java计算器代码,初学者专用java计算器代码,初学者专用java计算器代码,初学者专用java计算器代码,初学者专用

    基于Android Studio 开发计算器代码

    【基于Android Studio 开发计算器代码】的开发是一个深入理解Android应用程序设计和编程的重要实践过程。在Android Studio中创建一个计算器应用,主要涉及以下几个关键知识点: 1. **Android Studio环境搭建**:...

    Qt简易计算器代码.doc

    Qt 简易计算器代码详解 本资源是关于 Qt 简易计算器代码的详细解释,涵盖了计算器的设计、实现和相关技术要点。 标题解释 Qt 简易计算器代码.doc 文件提供了一个完整的计算器程序代码,使用 Qt 框架开发,实现了...

    JAVA编写计算器代码

    在提供的压缩文件"JAVA计算器代码"中,可能包含了实现上述功能的源代码文件。你可以通过阅读这些文件来学习具体的实现细节,包括类的定义、方法的实现以及如何处理用户输入和输出。通过分析和理解这些代码,你将能...

    计算器代码 计算器代码

    标题中的“计算器代码 计算器代码”表明这是一个关于计算器应用程序的编程项目,可能是用某种编程语言实现的一个简单或复杂的计算器。描述中列举了几个关键的文件,这些通常是Visual Basic 6 (VB6)项目的组成部分,...

    HTML计算器代码 很有用

    HTML 计算器代码解析 HTML 计算器代码是一种使用 HTML、CSS 和 JavaScript 编写的简单计算器代码。该代码可以在 Web 浏览器中运行,提供基本的计算功能。本文将对该代码进行详细解析,介绍其中涉及到的 HTML、...

    js简洁实用的网页计算器代码.zip

    【标题】"js简洁实用的网页计算器代码"指的是一个基于JavaScript实现的网页计算器程序,它提供了基本的数学计算功能,并且设计简洁、易于使用。在网页开发中,这样的计算器可以作为一个交互元素,增强用户在网站上的...

    android简单计算器代码

    ### 标题:“android简单计算器代码” 此标题明确指出这是一个针对Android平台的计算器应用程序代码示例。在Android开发中,创建一个计算器应用是新手学习布局设计、用户交互以及数据处理的良好起点。 ### 描述:...

    计算器代码(web程序设计)

    在《计算器代码(web程序设计)》中,我们看到了一个利用HTML和JavaScript结合来实现简单计算器功能的实例。这个实例展示了如何在网页上创建一个可以进行基本算术运算(加、减、乘、除)的计算器。 #### 二、理解...

    2011最新版个人所得税计算器代码(3500元起征点)

    标题中的“2011最新版个人所得税计算器代码(3500元起征点)”指的是2011年我国个人所得税法改革后推出的计算工具。在2011年9月1日,中国的个税起征点从原来的2000元上调至3500元,这一变化对广大工薪阶层的税负产生...

    Java普通科学型计算器代码

    Java普通科学型计算器代码 Java是一种广泛使用的编程语言,能够开发出功能强大且复杂的应用程序。本资源提供了一个普通科学型计算器的Java代码,实现了一个功能完整的计算器应用程序。 标题解析 Java普通科学型...

    简单好看的html5网页计算器代码.zip

    一款简单好看的html5网页计算器代码,精美的html5 css3计算器样式特效。 js代码  [removed]  function s(v) { document.getElementById('res').value = v }  function a(v) { document.getElementById('res...

    vb6计算器代码

    下面将详细阐述这个“vb6计算器代码”所涵盖的知识点。 首先,用户界面(UI)是计算器的核心部分。在VB6中,我们可以使用Form控件来创建计算器的窗口,并在上面添加Button控件来模拟数字和运算符按钮。每个按钮都有...

    vue.js简易的计算器代码.zip

    这款简易的计算器代码示例是基于Vue.js实现的,展示了如何使用Vue的核心特性来创建一个功能齐全的加减乘除计算器。下面我们将深入探讨这个计算器涉及到的Vue.js知识点。 1. **Vue实例**:在描述中提到的计算器代码...

    计算器 软件 代码 可用计算器代码

    "计算器 软件 代码 可用计算器代码" 这个标题表明我们关注的是一个关于计算器的软件开发项目,具体来说,它是一个可用的计算器代码实现。这里的“可用”意味着该代码是经过测试和验证的,可以直接应用于实际的编程...

    Android时写的一个计算器代码

    这个名为"MyCalculator"的项目,正如标题和描述所提到的,是一个在学习阶段编写的计算器代码,它应该能够进行基本的数学运算,并且在测试中没有发现任何问题。 在Android应用开发中,计算器通常会包含以下几个关键...

    jQuery房地产贷款计算器代码

    【jQuery房地产贷款计算器代码】是用于房地产网站的一个实用工具,旨在帮助用户估算他们的购房贷款负担。这个计算器基于JavaScript库jQuery,它提供了用户友好的界面和交互性,使得贷款计算过程简单直观。在房地产...

    Android开发_简单计算器代码

    以下是对这个计算器代码实现的关键知识点的详细解释。 1. **布局设计**: 计算器的用户界面通常由XML布局文件定义。这里可能包含了一个GridLayout或LinearLayout,用于组织按钮和显示结果的TextView。每个按钮...

Global site tag (gtag.js) - Google Analytics