为什么日本买的苹果手机中国能用吗7手机在中国没人买了?

当前位置: →
→ jsp学习---使用jsp和JavaBean实现超简单网页计算器
jsp学习---使用jsp和JavaBean实现超简单网页计算器
& 作者及来源: Hi_Amos - 博客园 &
&收藏到→_→:
摘要: jsp学习---使用jsp和JavaBean实现超简单网页计算器
"jsp学习---使用jsp和JavaBean实现超简单网页计算器"::
如题,用jsp实现一个超简单的网页计算器.
1)初始界面:
2)随便输入两个数进行相乘:
3)当除数为零时提示报错:
calculator.java
package com.amos.
import java.math.
* @classname: calculator
* @description: 计算器
* @author: amosli
* @date mar 20, :59 am
public class calculator {
private string firstnum="0";
private string secondnum="0";
private char operator='+';
public string getresult() {
public char getoperator() {
public void setoperator(char operator) {
this.operator =
public void setresult(string result) {
this.result =
public string getfirstnum() {
public void setfirstnum(string firstnum) {
this.firstnum = firstnum.trim();
public string getsecondnum() {
public void setsecondnum(string secondnum) {
this.secondnum = secondnum.trim();
public void calculate() {
bigdecimal a = new bigdecimal(this.firstnum);
bigdecimal b = new bigdecimal(this.secondnum);
switch (this.operator) {
this.result = a.add(b).tostring();
this.result = a.subtract(b).tostring();
this.result = a.multiply(b).tostring();
if (b.doublevalue()==0) {
throw new runtimeexception("被除数不能为零");
this.result = a.divide(b,10,bigdecimal.round_half_down).tostring();
calculator.jsp
&%@ page language="java" contenttype="text/ charset=utf-8"
pageencoding="utf-8"%&
&!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"&
&meta http-equiv="content-type" content="text/ charset=utf-8"&
&title&jsp计算器&/title&
&jsp:usebean id="calcbean" class="com.amos.model.calculator"&&/jsp:usebean&
&jsp:setproperty property="*" name="calcbean" /&
calcbean.calculate();
计算结果是:
&jsp:getproperty property="firstnum" name="calcbean" /&
&jsp:getproperty property="operator" name="calcbean" /&
&jsp:getproperty property="secondnum" name="calcbean" /&
=&jsp:getproperty property="result" name="calcbean" /&
&form action="/jsp/calculator.jsp" method="post"&
&table style="text-align:"&
&td colspan="2"&简单的计算器&/td&
&td&第一个参数&/td&
&td&&input type="text" name="firstnum" /&&/td&
&td&&select name="operator"&
&option value="+"&+&/option&
&option value="-"&-&/option&
&option value="*"&*&/option&
&option value="/"&/&/option&
&/select&&/td&
&td&第二个数&/td&
&td&&input type="text" name="secondnum" /&&/td&
&button name="calc" type="submit"&计算&/button&
3.代码介绍
1)这里注意如果要进行精度运算,用double + double很容易失真,比如,a=0.1,b=0.02 ,a+b=?
0.1+0.02=0.00001
这里是因为计算机底层只认识0和1,而double是64位精度,所以在计算时,很容易失真.
建议做运算的时候使用bigdecimal或者biginteger类进行运算,调用其原有的add,substract等方法即可实现加减等操作.
2)jsp主要用到的就是jsp:usebean进行实例化对象,jsp:setproperty和jsp:getproperty进行设值和取值.
3)关于错误页面内容的配置:
在web.xml中添加如下内容,捕获exception:
&error-page&
&exception-type&java.lang.exception&/exception-type&
&location&/error/error.jsp&/location&
&/error-page&
同时在error.jsp页面中将错误信息显示出来:
sorry,出错了!!
&%out.print(exception.getmessage()); %&
补充:jsp有两种开发模式:
sun公司推出jsp技术后,同时也推荐了两种web的开发模式,一种是jsp+javabean模式,一种是servlet+jsp+javabean模式。1)jsp+javabean模式,适合简单开发,适合开发业务逻辑此文来自: 马开东博客
转载请注明出处 网址:
不太复杂的web,这种模式下,javabean用于封装业务数据,jsp即负责处理用户请求,又显示数据;2)servlet+jsp+javabean(mvc)模式适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据。 servlet+jsp、javabean模式程序各个模块之间层次清晰,web开发推荐采用此种模式。
本例中采用的即是第一种开发模式.
&搜索此文相关文章:Bean实现超简单网页计算器此文来自: 马开东博客
网址: 站长QQ
jsp学习---使用jsp和JavaBean实现超简单网页计算器_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜用JAVA设计一个科学型计算器_文档库
文档库最新最全的文档下载
当前位置: & 用JAVA设计一个科学型计算器
用JAVA设计一个科学型计算器
题目:设计一个Windows计算器。
在当今这个网络的时代,我找了好多java的代码材料。修改后程序是一个图形界面的java计算器,其界面主要采用了awt包, 程序实现了:
(1)实现简单加、减、乘、除的运算。
(2)实现除了加、减、乘、除按钮外其他按钮功能。
(3)给软件添加一个编辑、查看、帮助的主菜单。
(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。
(5)科学型计算器与标准计算器之间的菜单切换。
关键字:java程序
第1章 概要设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8
1.标准型计算器界面设计,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8
第2章程序整体设计说明,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10
2.1程序中所用到的变量 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10
2.2程序部分源代码及注释 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,11 3章 程序运行效果 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22
3.程序运行主界面 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,22
3.程序中各按钮运行界面 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,24
3.本章小节 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,26 作业结论 ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,26
第1章概要设计
1.1标准型计算器界面设计
1.1.1 JAVA文件的建立
(1)建立一个名称为“java”Java工程, package文件包名称为 :计算器主类:Calculator。
(2)界面的设计:
Word文档免费下载:
(共20页)
用java设计一个计算器毕业论文_工学_高等教育_教育专区。六安职业技术学院毕业 ...求倒数,还可以实现数值的符号 转换,操作科学型计算器与标准计算器之间的菜单切换...java课程设计-模拟科学计算器_工学_高等教育_教育专区。java课程设计-模拟科学计算...首先用户输入一个数字,程序用 String s 暂时储存,并 通过 JTexField()文本编辑...中自带的计算器,由于编者 水平和时间的限制,不能将计算器设计到科学型及其他更...北京邮件大学出版社,] 丁振凡 《Java 语言使用教程实验指导》 北京...java科学计算器设计_计算机软件及应用_IT/计算机_专业资料。java大作业 ...用JAVA设计一个科学型计... 20页 5下载券 java课程设计-模拟科学计... 23...计算器设计 java计算器实训报告java计算器实训报告隐藏...比如科学计算,数值计算,会计业 务等等,在 Applet ...(1)使用图形用户界面;一个文本框;0-9 数字按钮;...设计名称: 模拟科学计算器 设计内容、目的与要求: ...(&标准型(S)&); seeItem3 = new ...JApplet 是一个顶层容器,继承自 java.applet.Applet...(Java)科学型计算器的开发与实现_计算机软件及应用_IT/计算机_专业资料。淮北师范...为了解决以上问题,便用软件方法设计了科学计算 器系统。通过使用本系统,只需要...游戏控 制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业...本文介绍了用 java 语言编写一个简易计算器。实现数学上的加、减、乘、除、...科学计算器--Java课程设计_工学_高等教育_教育专区。完成一个图形界面的计算器,可以在标准计算器和科学计算器之间切换,标准计算器的基本功能有:加、减、乘、除基...计算器java课程设计(完整版)_计算机软件及应用_IT/...计算器设计到科学型及其他更复杂的类型,在 设计过程...用一个 for 循环将按钮添加进面板并注 册监听器 ...Calculator186 用Java语言编写的一个漂亮而又简单的模拟计算器界面,功能齐全, 大方的 Develop 252万源代码下载-
&文件名称: Calculator186& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 5 KB
&&上传时间:
&&下载次数: 0
&&提 供 者:
&详细说明:用Java语言编写的一个漂亮而又简单的模拟计算器界面,功能齐全,简单大方的界面!-A pretty simple analog calculator interface written in the Java language, fully functional, simple and elegant interface!
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&Calculator&&..........\JAVA实现计算器界面.doc&&pudn.txt
&输入关键字,在本站252万海量源码库中尽情搜索:java模仿windows计算器示例
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了java模仿windows计算器示例,需要的朋友可以参考下
这个计算器的界面模仿Windows自带的简易计算器,包括交互界面和和对各种输入的响应。目前尚未实现菜单栏和记忆类按钮的功能
代码如下:import java.awt.Cimport java.awt.Cimport java.awt.GridLimport java.awt.Iimport java.awt.event.ActionEimport java.awt.event.ActionL
import javax.swing.JFimport javax.swing.JBimport javax.swing.JMimport javax.swing.JMenuBimport javax.swing.JMenuIimport javax.swing.JPimport javax.swing.JTextFimport javax.swing.SwingCimport javax.swing.plaf.basic.BasicB
public class Calculator extends JFrame {&private static final long serialVersionUID = 1L;&Container c = getContentPane();&StringBuilder number1 = new StringBuilder("");// 储存第1个数字字符串&StringBuilder number2 = new StringBuilder("");// 储存第2个数字字符串&StringBuilder operator = new StringBuilder("");// 储存运算符&StringBuilder result = new StringBuilder("");// 储存运算结果&JTextField numbershow = new JTextField("0.");// 数字显示区域,初始显示为"0."
&public static void main(String[] args) {// 主方法&&Calculator c1 = new Calculator();&&c1.setVisible(true);&}
&public Calculator() {// 计算器构造方法&&setTitle("计算器");&&setBounds(100, 100, 260, 245);&&setResizable(false);&&setLayout(null);&&setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&&createMenuBar();// 创建菜单栏&&createNumberShow();// 创建数字显示区域&&createMemoShow();// 创建记忆显示&&createClearButtons();// 创建Backspace,CE,C等三个按钮&&createButtonArea();// 创建数字按钮区域&}
&private void createMenuBar() {// 创建菜单栏的方法&&JMenuBar menubar = new JMenuBar();&&setJMenuBar(menubar);&&JMenu menu1 = new JMenu("编辑");&&JMenu menu2 = new JMenu("查看");&&JMenu menu3 = new JMenu("帮助");&&menubar.add(menu1);&&menubar.add(menu2);&&menubar.add(menu3);&&JMenuItem menu1item1 = new JMenuItem("复制");&&JMenuItem menu1item2 = new JMenuItem("粘贴");&&JMenuItem menu2item1 = new JMenuItem("标准型");&&JMenuItem menu2item2 = new JMenuItem("科学型");&&JMenuItem menu2item3 = new JMenuItem("科学分组");&&JMenuItem menu3item1 = new JMenuItem("帮助主题");&&JMenuItem menu3item2 = new JMenuItem("关于计算器");&&menu1.add(menu1item1);&&menu1.add(menu1item2);&&menu2.add(menu2item1);&&menu2.add(menu2item2);&&menu2.add(menu2item3);&&menu3.add(menu3item1);&&menu3.add(menu3item2);&}
&private void createNumberShow() {// 创建数字显示区域的方法&&numbershow.setHorizontalAlignment(JTextField.RIGHT);&&numbershow.setBounds(5, 0, 245, 22);&&numbershow.setEnabled(false);&&numbershow.setDisabledTextColor(Color.BLACK);&&c.add(numbershow);&}
&private void createMemoShow() {// 创建记忆显示的方法&&JTextField memoshow = new JTextField();&&memoshow.setEditable(false);&&memoshow.setBounds(10, 30, 28, 22);&&memoshow.setBorder(new BasicBorders.FieldBorder(Color.black,&&&&Color.black, Color.white, Color.white));&&c.add(memoshow);&}
&private void createClearButtons() {// 创建Backspace,CE,C等三个按钮的方法&&JButton[] clearbutton = new JButton[3];&&String[] clearbuttontext = { "Backspace", "CE", "C" };&&for (int i = 0; i & 3; i++) {&&&clearbutton[i] = new JButton();&&&clearbutton[i].setText(clearbuttontext[i]);&&&clearbutton[i].setHorizontalAlignment(SwingConstants.CENTER);&&&clearbutton[i].setMargin(new Insets(0, 0, 0, 0));&&&clearbutton[i].setFont(new java.awt.Font("Arial", 0, 9));&&&clearbutton[i].setForeground(Color.blue);&&&clearbutton[i].setBounds(48 + i * 68, 30, 63, 22);&&&clearbutton[i].setForeground(Color.red);&&&c.add(clearbutton[i]);&&}
&&clearbutton[0].addActionListener(new ActionListener() {// 为Backspace按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (number1.toString().equals("")) {// 如果未做任何输入&&&&&&&showNumber(numbershow, number1);// 显示number1&&&&&&} else if (operator.toString().equals("")) {// 如果只输入了number1&&&&&&&number1.deleteCharAt(number1.toString().length() - 1);// 将number1的最后一个字符去掉&&&&&&&showNumber(numbershow, number1);// 显示number1&&&&&&} else if (number2.toString().equals("")) {// 如果只输入了number1和operator&&&&&&&showNumber(numbershow, number1);// 不作任何处理,显示number1&&&&&&} else {// 如果输入了number1、operator、number2&&&&&&&number2.deleteCharAt(number2.toString().length() - 1);// 将number2的最后一个字符去掉&&&&&&&showNumber(numbershow, number2);// 显示number2&&&&&&}&&&&&}&&&&});
&&clearbutton[1].addActionListener(new ActionListener() {// 为CE按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (number1.toString().equals("")) {// 如果未做任何输入&&&&&&&showNumber(numbershow, number1);// 显示number1&&&&&&} else if (operator.toString().equals("")) {// 如果只输入了number1&&&&&&&number1.setLength(0);// 清除number1&&&&&&&showNumber(numbershow, number1);// 显示number1&&&&&&} else if (number2.toString().equals("")) {// 如果输入了number1和operator&&&&&&&showNumber(numbershow, number2);// 不作任何处理,显示number2&&&&&&} else {// 如果输入了number1、operator、number2&&&&&&&number2.setLength(0);// 清除number2&&&&&&&showNumber(numbershow, number2);// 显示number2&&&&&&}&&&&&}&&&&});
&&clearbutton[2].addActionListener(new ActionListener() {// 为C按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {// 将所有储存清零&&&&&&number1.setLength(0);&&&&&&number2.setLength(0);&&&&&&operator.setLength(0);&&&&&&numbershow.setText("0.");&&&&&&result.setLength(0);&&&&&}&&&&});&}
&private void createButtonArea() {// 创建数字按钮区域的方法&&JPanel ButtonArea = new JPanel();&&ButtonArea.setBounds(5, 55, 245, 125);&&ButtonArea.setLayout(new GridLayout(4, 6, 5, 5));&&c.add(ButtonArea);
&&JButton[] numberbutton = new JButton[24];&&String[] numberbuttontext = { "MC", "7", "8", "9", "/", "sqrt", "MR",&&&&"4", "5", "6", "*", "%", "MS", "1", "2", "3", "-", "1/X", "M+",&&&&"0", "+/-", ".", "+", "=" };&&for (int i = 0; i & 24; i++) {// 使用循环为这24个按钮添加标识&&&numberbutton[i] = new JButton(numberbuttontext[i]);&&&ButtonArea.add(numberbutton[i]);&&&if (i % 6 == 0 || i % 6 == 4 || i == 23) {// 操作符按钮设置为红色&&&&numberbutton[i].setHorizontalAlignment(SwingConstants.CENTER);&&&&numberbutton[i].setMargin(new Insets(0, 0, 0, 0));&&&&numberbutton[i].setFont(new java.awt.Font("Arial", 0, 9));&&&&numberbutton[i].setForeground(Color.red);&&&} else {// 其它设置为蓝色&&&&numberbutton[i].setHorizontalAlignment(SwingConstants.CENTER);&&&&numberbutton[i].setMargin(new Insets(0, 0, 0, 0));&&&&numberbutton[i].setFont(new java.awt.Font("Arial", 0, 9));&&&&numberbutton[i].setForeground(Color.blue);&&&}&&}
&&int[] numbers = { 19, 13, 14, 15, 7, 8, 9, 1, 2, 3 };// 该数组中的数字分别代表0-9等数字在numberbuttontext数组中序号&&for (int i = 0; i &= 9; i++) { // 使用循环为这0-9这十个数字按钮添加监听器&&&final String str = String.valueOf(i);&&&numberbutton[numbers[i]].addActionListener(new ActionListener() {// 为0-9按钮添加监听器&&&&&&@Override&&&&&&public void actionPerformed(ActionEvent e) {&&&&&&&if (operator.toString().equals("")) {// 没有输入operator之前&&&&&&&&add(number1, str); // 只设置number1的值&&&&&&&&showNumber(numbershow, number1);// 只显示number1的值&&&&&&&} else {// 输入operator之后&&&&&&&&add(number2, str);// 只设置number2的值&&&&&&&&showNumber(numbershow, number2);// 只显示number2的值&&&&&&&}&&&&&&}&&&&&});&&}
&&numberbutton[20].addActionListener(new ActionListener() { // 为"+/-"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (operator.toString().equals("")) {// 没有输入operator之前&&&&&&&add(number1, "+/-");// 只设置number1的值&&&&&&&showNumber(numbershow, number1);// 只显示number1的值&&&&&&} else {// 输入operator之后&&&&&&&add(number2, "+/-");// 只设置number2的值&&&&&&&showNumber(numbershow, number2);// 只显示number2的值&&&&&&}&&&&&}&&&&});
&&numberbutton[21].addActionListener(new ActionListener() { // 为"."按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (operator.toString().equals("")) {// 在输入operator之前,只显示number1的值&&&&&&&add(number1, ".");&&&&&&&showNumber(numbershow, number1);&&&&&&} else {// 在输入operator之后,只显示number2的值&&&&&&&add(number2, ".");&&&&&&&showNumber(numbershow, number2);&&&&&&}&&&&&}&&&&});
&&numberbutton[22].addActionListener(new ActionListener() { // 为"+"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&operator.setLength(0);&&&&&&operator.append("+");&&&&&}&&&&});
&&numberbutton[16].addActionListener(new ActionListener() { // 为"-"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&operator.setLength(0);&&&&&&operator.append("-");&&&&&}&&&&});
&&numberbutton[10].addActionListener(new ActionListener() { // 为"*"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&operator.setLength(0);&&&&&&operator.append("*");&&&&&}&&&&});
&&numberbutton[4].addActionListener(new ActionListener() { // 为"/"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&operator.setLength(0);&&&&&&operator.append("/");&&&&&}&&&&});
&&numberbutton[23].addActionListener(new ActionListener() { // 为"="按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (number1.toString().equals("")) {// 当number1为空时&&&&&&&showNumber(numbershow, number1);&&&&&&} else if (operator.toString().equals("")) {// 当number1不为空,而operator为空时&&&&&&&showNumber(numbershow, number1);&&&&&&} else if (number2.toString().equals("")) {// 当number1、operator均不为空,而number2为空时&&&&&&&switch (operator.toString()) {&&&&&&&case ("+"): {&&&&&&&&number2.append(number1.toString());&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&+ Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("-"): {&&&&&&&&number2.append(number1.toString());&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&- Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("*"): {&&&&&&&&number2.append(number1.toString());&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&* Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("/"): {&&&&&&&&number2.append(number1.toString());&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&/ Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&}&&&&&&} else {// 当number1、operator、number2均不为空时&&&&&&&switch (operator.toString()) {&&&&&&&case ("+"): {&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&+ Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("-"): {&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&- Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("*"): {&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&* Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&case ("/"): {&&&&&&&&double d = Double.parseDouble(number1&&&&&&&&&&.toString())&&&&&&&&&&/ Double.parseDouble(number2.toString());&&&&&&&&result.setLength(0);&&&&&&&&result.append(d);&&&&&&&&showNumber(numbershow, result);&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);&&&&&&&}&&&&&&&&&&&&&&&}&&&&&&}&&&&&}&&&&});
&&numberbutton[17].addActionListener(new ActionListener() { // 为"1/x"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (number1.toString().equals("")) {// 没有输入number1时&&&&&&&numbershow.setText("除数不能为零");&&&&&&} else if (operator.toString().equals("")) {// 输入了number1,但没有输入operator&&&&&&&if (Double.parseDouble(number1.toString()) == 0) {// 如果number1的值为零&&&&&&&&numbershow.setText("除数不能为零");&&&&&&&} else {// 如果number1的值不为零&&&&&&&&double d = 1 / (Double.parseDouble(number1&&&&&&&&&&.toString()));&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);// 将number1的值开放并存储&&&&&&&&showNumber(numbershow, number1);&&&&&&&}&&&&&&} else if (number2.toString().equals("")) {// 输入了number1、operator,但没有输入number2&&&&&&&double d = 1 / (Double.parseDouble(number1&&&&&&&&&.toString()));&&&&&&&number2.append(d);// 将number1的值开放并存储&&&&&&&showNumber(numbershow, number2);&&&&&&} else {// 输入了number1、operator,number2&&&&&&&double d = 1 / (Double.parseDouble(number2&&&&&&&&&.toString()));&&&&&&&number2.setLength(0);&&&&&&&number2.append(d);// 将number2的值开放并存储&&&&&&&showNumber(numbershow, number2);&&&&&&}&&&&&}&&&&});
&&numberbutton[11].addActionListener(new ActionListener() { // 为"%"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&// 暂时空缺&&&&&}&&&&});
&&numberbutton[5].addActionListener(new ActionListener() { // 为"sqrt"按钮添加监听器&&&&&@Override&&&&&public void actionPerformed(ActionEvent e) {&&&&&&if (number1.toString().equals("")) {// 没有输入number1时&&&&&&&showNumber(numbershow, number1);&&&&&&} else if (operator.toString().equals("")) {// 输入了number1,但没有输入operator&&&&&&&if (Double.parseDouble(number1.toString()) & 0) {// number1小于0&&&&&&&&numbershow.setText("函数输入无效");&&&&&&&} else {// number1大于0&&&&&&&&double d = Math.sqrt(Double.parseDouble(number1&&&&&&&&&&.toString()));&&&&&&&&number1.setLength(0);&&&&&&&&number1.append(d);// 将number1的值开放并存储&&&&&&&&showNumber(numbershow, number1);&&&&&&&}&&&&&&} else if (number2.toString().equals("")) {// 输入了number1、operator,但没有输入number2&&&&&&&double d = Math.sqrt(Double.parseDouble(number1&&&&&&&&&.toString()));&&&&&&&number2.append(d);// 将number1的值开放并存储&&&&&&&showNumber(numbershow, number2);&&&&&&} else {// 输入了number1、operator、number2&&&&&&&double d = Math.sqrt(Double.parseDouble(number2&&&&&&&&&.toString()));&&&&&&&number2.setLength(0);&&&&&&&number2.append(d);// 将number2的值开放并存储&&&&&&&showNumber(numbershow, number2);&&&&&&}&&&&&}&&&&});&}
&public void add(StringBuilder s1, String s2) {// 定义按钮输入后数字字符串变化的方法&&if (s2.equals("+/-")) {// 定义输入"+/-"后数字字符串的变化&&&if (s1.toString().equals("") || s1.toString().equals("0")) {// 如果数字字符串为空或者0,那么不发生变化&&&&s1.append("");&&&} else {// 如果数字字符串不为空也不为0,那么在数字字符串前增加或删除"-"字符&&&&if (s1.toString().startsWith("-")) {&&&&&s1.deleteCharAt(0);&&&&} else {&&&&&s1.insert(0, "-");&&&&}&&&}&&}&&if (s2.equals(".")) {// 定义输入"."后数字字符串的变化&&&if (s1.toString().indexOf(".") == -1) {// 查找数字字符串中是否含有"."字符,如果没有则执行以下代码&&&&if (s1.toString().equals("")) {// 如果数字字符串为空,那么将数字字符串设置为"0."&&&&&s1.setLength(0);&&&&&s1.append("0.");&&&&} else {&&&&&s1.append(".");&&&&}&&&} else {// 如果有,则不发生变化&&&&s1.append("");&&&}&&}&&if (s2.equals("0")) {// 定义输入"0"后数字字符串的变化&&&if (s1.toString().equals("0")) {// 当数字的字符串为"0"时,不发生变化&&&&s1.append("");&&&} else {// 当数字的字符串吧为"0"时,在其字符串后增加"0"&&&&s1.append("0");&&&}&&}&&for (int i = 1; i & 10; i++) {// 通过循环,定义输入1-9后数字字符串的变化&&&String str = String.valueOf(i);&&&if (s2.equals(str)) {// 定义输入1-9后数字字符串的变化&&&&if (s1.toString().equals("0")) {&&&&&s1.setLength(0);&&&&&s1.append(str);&&&&} else&&&&&s1.append(str);&&&}&&}&}
&public void showNumber(JTextField j, StringBuilder s) {// 定义数字显示区域如何显示数字字符串的方法&&if (s.toString().equals("") == true || s.toString().equals("0") == true) {&&&j.setText("0.");&&} else if (s.toString().indexOf(".") == -1) {&&&j.setText(s.toString() + ".");&&} else {&&&j.setText(s.toString());&&}&}}
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 日本买的苹果手机中国能用吗 的文章

 

随机推荐