速求java编程:计算器能在科学型与标准型之间切换的源代码

速求java编程:计算器能在科学型与标准型之间切换的源代码,第1张

import javaawt;
import javaawtevent;
import javaxswing;
/Java计算器 主类/
public class Calculator implements ActionListener {
JFrame f;
JMenu mEdit;
JMenu mView;
JMenu mHelp;
JMenuItem mCopy;
JMenuItem mPaste;
JTextField tResult;
JButton bNumber;
JButton bOperator;
JButton bOther;
JButton bM;
boolean isDouble=false;//是否为实数
int opFlag=-1;
static double t1=0,t2=0,t3=0,result=0;
static int opflag1=-1,opflag2=-1,flag=0,resflag=1;
int preOp,currentOp=0;//标准位
double op1=0,op2=0;// *** 作数
double n3;
StringBuffer buf=new StringBuffer(20);
StringBuffer copyBoard=new StringBuffer(20);//剪贴板
StringBuffer memory=new StringBuffer(20);//M系列
StringBuffer str=new StringBuffer();
//Java计算器 构造器
public Calculator()
{
f = new JFrame("计算器_刘亚会");
Container contentPane = fgetContentPane();
/Java计算器 菜单的创建/
JMenuBar mBar = new JMenuBar();
mBarsetOpaque(true);
mEdit = new JMenu("编辑(E)");
mEditsetMnemonic(KeyEventVK_E);
mCopy = new JMenuItem("复制(C)");
mEditadd(mCopy);
mPaste = new JMenuItem("粘贴(P)");
mEditadd(mPaste);
mView = new JMenu("查看(V)");
mViewsetMnemonic(KeyEventVK_V);
mViewadd(new JMenuItem("标准型"));
mViewadd(new JMenuItem("科学型"));
mViewaddSeparator();
mViewadd(new JMenuItem("查看分组"));
mHelp = new JMenu("帮助(H)");
mHelpsetMnemonic(KeyEventVK_H);
mHelpadd(new JMenuItem("帮助主题"));
mHelpaddSeparator();
mHelpadd(new JMenuItem("关于计算器"));
mBaradd(mEdit);
mBaradd(mView);
mBaradd(mHelp);
fsetJMenuBar(mBar);
contentPanesetLayout(new BorderLayout());
JPanel pTop = new JPanel();
tResult = new JTextField("0",26);
tResultsetHorizontalAlignment(JTextFieldRIGHT);
tResultsetEditable(false);
pTopadd(tResult);
contentPaneadd(pTop,BorderLayoutNORTH);
JPanel pBottom = new JPanel();
pBottomsetLayout(new BorderLayout());
JPanel pLeft = new JPanel();
pLeftsetLayout(new GridLayout(5,1,3,3));
bM = new JButton(" ");
bMsetEnabled(false);
pLeftadd(bM);
/Java计算器 功能键定义/
bOther = new JButton("MC");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
bOthersetMargin(new Insets(3,2,3,2));
pLeftadd(bOther);
bOther = new JButton("MR");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
bOthersetMargin(new Insets(3,2,3,2));
pLeftadd(bOther);
bOther = new JButton("MS");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
bOthersetMargin(new Insets(3,2,3,2));
pLeftadd(bOther);
bOther = new JButton("M+");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
bOthersetMargin(new Insets(3,2,3,2));
pLeftadd(bOther);
pBottomadd(pLeft,BorderLayoutWEST);
JPanel pRight = new JPanel();
pRightsetLayout(new BorderLayout());
JPanel pUp = new JPanel();
pUpsetLayout(new GridLayout(1,3,3,0));
bOther = new JButton("BackSpace");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
bOthersetMargin(new Insets(3,0,3,5));
pUpadd(bOther);
bOther = new JButton("CE");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
pUpadd(bOther);
bOther = new JButton("C");
bOtheraddActionListener(this);
bOthersetForeground(Colorred);
pUpadd(bOther);
/Java计算器 数字键盘区定义/
JPanel pDown = new JPanel();
pDownsetLayout(new GridLayout(4,5,3,2));
bNumber = new JButton("7");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bNumber = new JButton("8");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bNumber = new JButton("9");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bOperator = new JButton("/");
bOperatorsetForeground(Colorred);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,0,3,0));
pDownadd(bOperator);
bOperator = new JButton("sqrt");
bOperatoraddActionListener(this);
bOperatorsetForeground(Colorred);
bOperatorsetMargin(new Insets(3,0,3,0));
pDownadd(bOperator);
bNumber = new JButton("4");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
bNumbersetHorizontalTextPosition(JButtonLEFT);
pDownadd(bNumber);
bNumber = new JButton("5");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bNumber = new JButton("6");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bOperator = new JButton("");
bOperatorsetForeground(Colorred);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bOperator = new JButton("%");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bNumber = new JButton("1");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bNumber = new JButton("2");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bNumber = new JButton("3");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bOperator = new JButton("-");
bOperatorsetForeground(Colorred);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bOperator = new JButton("1/x");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
pDownadd(bOperator);
bNumber = new JButton("0");
bNumbersetForeground(Colorblue);
bNumberaddActionListener(this);
bNumbersetMargin(new Insets(3,3,3,3));
pDownadd(bNumber);
bOperator = new JButton("+/-");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bOperator = new JButton("");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bOperator = new JButton("+");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
bOperator = new JButton("=");
bOperatorsetForeground(Colorblue);
bOperatoraddActionListener(this);
bOperatorsetMargin(new Insets(3,3,3,3));
pDownadd(bOperator);
pRightadd(pUp,BorderLayoutNORTH);
pRightadd(pDown,BorderLayoutSOUTH);
pBottomadd(pRight,BorderLayoutEAST);
contentPaneadd(pBottom,BorderLayoutSOUTH);
fsetSize(new Dimension(320,256));
fsetResizable(false);
fsetVisible(true);
faddWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
Systemexit(0);
}
}
);
}
/Java计算器 计算方法区/
public void actionPerformed(ActionEvent e)
{
String s = egetActionCommand();
if(sequals("复制(C)"))
{
String temp = tResultgetText()trim();
copyBoardreplace(0, copyBoardlength(), temp);
mPastesetEnabled(true);
}
else if(sequals("粘贴(p)"))
{
tResultsetText(copyBoardtoString());
}
else if(sequals("CE"))
{
//如果是CE则清除文本框
tResultsetText("0");
}
else if(sequals("BackSpace"))
{
if(!tResultgetText()trim()equals("0"))
{
//如果文本框中有内容
if(strlength()!=1 && strlength()!=0)
{
tResultsetText(strdelete(strlength()-1,strlength())toString());
}
else
{
tResultsetText("0");
strsetLength(0);
}
}
op2 = DoubleparseDouble(tResultgetText()trim());
}
else if(sequals("C"))
{
//如果是C删除当前计算
tResultsetText("0");
op1 = op2 = 0;
strreplace(0, strlength(), " ");
preOp = currentOp = 0;
}
else if(sequals("MC"))
{
//如果是MC则清除缓冲区
String temp = "";
memoryreplace(0, memorylength(), temp);
bMsetText(" ");
}
else if(sequals("MR"))
{
//如果按键为MR则恢复缓冲区的数到文本框
tResultsetText(memorytoString());
}
else if(sequals("MS"))
{
//如果按键为MS则将文本框的数存入缓冲区
String s1 = tResultgetText()trim();
memoryreplace(0, memorylength(), s1);
bMsetText("M");
}
else if(sequals("M+"))
{
//如果按键为MS则将文本框值与缓冲区的数相加但不显示结果
String temp1 = tResultgetText()trim();
double dtemp = DoubleparseDouble(temp1);
String temp2 = memorytoString();
dtemp += DoubleparseDouble(temp2);
temp1 = StringvalueOf(dtemp);
memoryreplace(0, memorylength(), temp1);
}
else if(sequals("1/x"))
{
//如果按键为1/x则将文本框中的数据为它的倒数
String temp = tResultgetText()trim();
double dtemp = DoubleparseDouble(temp);
tResultsetText(""+1/dtemp);
}
else if(sequals("sqrt"))
{
//如果按键为sqrt则将文本框中的内容求平方根
String temp = tResultgetText()trim();
double dtemp = DoubleparseDouble(temp);
tResultsetText(""+Mathsqrt(dtemp));
}
else if(sequals("+"))
{
strsetLength(0);
if(currentOp==0)
{
preOp = currentOp = 1;
op2 = 0;
tResultsetText(""+op1);
}
else
{
currentOp = preOp;
preOp = 1;
switch(currentOp){
case 1:
op1 += op2;
tResultsetText(""+op1);
break;
case 2:
op1 -= op2;
tResultsetText(""+op1);
break;
case 3:
op1 = op2;
tResultsetText(""+op1);
break;
case 4:
op1 /= op2;
tResultsetText(""+op1);
break;
}
}
}
else if(sequals("-")){
strsetLength(0);
if(currentOp==0)
{
preOp=currentOp=2;//op1=op2;op2=0;
tResultsetText(""+op1);
}
else
{
currentOp =preOp;
preOp =2;
switch(currentOp){
case 1:op1=op1+op2;tResultsetText(""+op1);break;
case 2:op1=op1-op2;tResultsetText(""+op1);break;
case 3:op1=op1op2;tResultsetText(""+op1);break;
case 4:op1=op1/op2;tResultsetText(""+op1);break;
}
}
}
else if(sequals(""))//
{
strsetLength(0);
if(currentOp==0)
{
preOp=currentOp=3;//op1=op2;op2=1;
tResultsetText(""+op1);//op1=op2;
}
else
{
currentOp =preOp;
preOp =3;
switch(currentOp){
case 1:op1=op1+op2;tResultsetText(""+op1);break;
case 2:op1=op1-op2;tResultsetText(""+op1);break;
case 3:op1=op1op2;tResultsetText(""+op1);break;
case 4:op1=op1/op2;tResultsetText(""+op1);break;
}
}
}
else if(sequals("/"))// /
{
strsetLength(0);
if(currentOp==0)
{
preOp=currentOp=4;//op2=1;
tResultsetText(""+op1);//op1=op2;
}
else
{
currentOp =preOp;
preOp =4;
switch(currentOp){
case 1:op1=op1+op2;tResultsetText(""+op1);break;
case 2:op1=op1-op2;tResultsetText(""+op1);break;
case 3:op1=op1op2;tResultsetText(""+op1);break;
case 4:op1=op1/op2;tResultsetText(""+op1);break;
}
}
}
else if(sequals("="))// =
{
if(currentOp==0)
{
strsetLength(0);
tResultsetText(""+op2);
}
else
{
strsetLength(0);
currentOp =preOp;
switch(currentOp){
case 1:op1=op1+op2;tResultsetText(""+op1);break;
case 2:op1=op1-op2;tResultsetText(""+op1);break;
case 3:op1=op1op2;tResultsetText(""+op1);break;
case 4:op1=op1/op2;tResultsetText(""+op1);break;
}
currentOp=0;
op2=0;
}
}
else if(sequals(""))
{
isDouble=true;
if(tResultgetText()trim()indexOf('')!=-1);
else {
if(tResultgetText()trim()equals("0")) {
strsetLength(0);
tResultsetText((strappend("0"+s))toString());
}
//else if(tResultgetText()trim()equals("")){}//如果初时显示为空则不做任何 *** 作
else {
tResultsetText((strappend(s))toString());
}
}
}
else if(sequals("0"))//如果选择的是"0"这个数字键
{
if(tResultgetText()trim()equals("0")){}
else{
tResultsetText(strappend(s)toString());
op2=DoubleparseDouble(tResultgetText()trim());
}
}
else{
tResultsetText(strappend(s)toString());
op2=DoubleparseDouble(tResultgetText()trim());
if(currentOp==0)
op1=op2;
}
}//end actionPerformed
public static void main(String[] args) {
new Calculator();
}
}
这个就是了,看看功能是否一样

你加了高分我才贴
----------------具体是: Client-A发送消息向Server:消息包括内容+流向(Client-B的地址)+消息来源地址 Server接收后再把消息+来源地址发给Client-B

这样是为了减少频繁访问服务器对其造成不必要的负担,但是同时也带来了一定特殊业务逻辑满足不了的问题。 例如: 需要通过前台一个select下拉列表来作为ajax的触发入口,同时将server返回的信息呈现在页面,并且往session或者数据库里面更新一些实际的东西的逻辑 *** 作。 当第一次切换选项,也就是提交请求的时候一切都是正常的,但是如果切换相同选项因为浏览器的缓存原因,将不会走到server,实际得到的动态信息是从缓存中去取的。造成后台的逻辑没有被走到。代码如下: aspx相关代码 复制代码 代码如下: <asp:DropDownList ID="ddlProductList" runat="server"> <asp:ListItem Value="" Selected="True"></asp:ListItem> <asp:ListItem Value="null">积立利率変动型终身保険</asp:ListItem> <asp:ListItem Value="QIWL">・QIWL(H9)</asp:ListItem> <asp:ListItem Value="KIWL">・KIWL(H11)</asp:ListItem> <asp:ListItem Value="JIWL">・JIWL(H15)</asp:ListItem> <asp:ListItem Value="null">积立利率変动型终身保険(市场金利连动型)</asp:ListItem> <asp:ListItem Value="IIWL">・IIWL</asp:ListItem> <asp:ListItem Value="HIWL">・HIWL</asp:ListItem> <asp:ListItem Value="null">积立利率変动型终身保険(贮蓄重视型)</asp:ListItem> <asp:ListItem Value="KIWLS">・KIWLS</asp:ListItem> <asp:ListItem Value="null">ドル建积立利率変动型终身保険</asp:ListItem> <asp:ListItem Value="ODIWL">・ODIWL</asp:ListItem> <asp:ListItem Value="JDIWL">・JDIWL</asp:ListItem> <asp:ListItem Value="HDIWL">・HDIWL</asp:ListItem> <asp:ListItem Value="null"> 积立利率変动型养老保険(贮蓄重视型 米ドル建) </asp:ListItem> <asp:ListItem Value="JDISE">・JDISE</asp:ListItem> </asp:DropDownList> aspxcs代码 复制代码 代码如下: if (!IsPostBack) { //为doropdownlist添加客户端事件 ddlProductListAttributesAdd("onchange", "selectChange(this)"); } Ajaxjs代码 复制代码 代码如下: var request; function selectChange(obj) { create>

Java计算器 源代码:

import javaawt;

import javaawtevent;

import javaxswing;

/Java计算器 主类/

public class SunnyCalculator implements ActionListener {

JFrame f;

JMenu mEdit;

JMenu mView;

JMenu mHelp;

JMenuItem mCopy;

JMenuItem mPaste;

JTextField tResult;

JButton bNumber;

JButton bOperator;

JButton bOther;

JButton bM;

boolean isDouble=false;//是否为实数

int opFlag=-1;

static double t1=0,t2=0,t3=0,result=0;

static int opflag1=-1,opflag2=-1,flag=0,resflag=1;

int preOp,currentOp=0;//标准位

double op1=0,op2=0;// *** 作数

double n3;

StringBuffer buf=new StringBuffer(20);

StringBuffer copyBoard=new StringBuffer(20);//剪贴板

StringBuffer memory=new StringBuffer(20);//M系列

StringBuffer str=new StringBuffer();

//Java计算器 构造器

public SunnyCalculator()

{

f = new JFrame("Sunny计算器_杨梅树的盔甲");

Container contentPane = fgetContentPane();

/Java计算器 菜单的创建/

JMenuBar mBar = new JMenuBar();

mBarsetOpaque(true);

mEdit = new JMenu("编辑(E)");

mEditsetMnemonic(KeyEventVK_E);

mCopy = new JMenuItem("复制(C)");

mEditadd(mCopy);

mPaste = new JMenuItem("粘贴(P)");

mEditadd(mPaste);

mView = new JMenu("查看(V)");

mViewsetMnemonic(KeyEventVK_V);

mViewadd(new JMenuItem("标准型"));

mViewadd(new JMenuItem("科学型"));

mViewaddSeparator();

mViewadd(new JMenuItem("查看分组"));

mHelp = new JMenu("帮助(H)");

mHelpsetMnemonic(KeyEventVK_H);

mHelpadd(new JMenuItem("帮助主题"));

mHelpaddSeparator();

mHelpadd(new JMenuItem("关于计算器"));

mBaradd(mEdit);

mBaradd(mView);

mBaradd(mHelp);

fsetJMenuBar(mBar);

contentPanesetLayout(new BorderLayout());

JPanel pTop = new JPanel();

tResult = new JTextField("0",26);

tResultsetHorizontalAlignment(JTextFieldRIGHT);

tResultsetEditable(false);

pTopadd(tResult);

contentPaneadd(pTop,BorderLayoutNORTH);

JPanel pBottom = new JPanel();

pBottomsetLayout(new BorderLayout());

JPanel pLeft = new JPanel();

pLeftsetLayout(new GridLayout(5,1,3,3));

bM = new JButton(" ");

bMsetEnabled(false);

pLeftadd(bM);

/Java计算器 功能键定义/

bOther = new JButton("MC");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

bOthersetMargin(new Insets(3,2,3,2));

pLeftadd(bOther);

bOther = new JButton("MR");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

bOthersetMargin(new Insets(3,2,3,2));

pLeftadd(bOther);

bOther = new JButton("MS");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

bOthersetMargin(new Insets(3,2,3,2));

pLeftadd(bOther);

bOther = new JButton("M+");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

bOthersetMargin(new Insets(3,2,3,2));

pLeftadd(bOther);

pBottomadd(pLeft,BorderLayoutWEST);

JPanel pRight = new JPanel();

pRightsetLayout(new BorderLayout());

JPanel pUp = new JPanel();

pUpsetLayout(new GridLayout(1,3,3,0));

bOther = new JButton("BackSpace");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

bOthersetMargin(new Insets(3,0,3,5));

pUpadd(bOther);

bOther = new JButton("CE");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

pUpadd(bOther);

bOther = new JButton("C");

bOtheraddActionListener(this);

bOthersetForeground(Colorred);

pUpadd(bOther);

/Java计算器 数字键盘区定义/

JPanel pDown = new JPanel();

pDownsetLayout(new GridLayout(4,5,3,2));

bNumber = new JButton("7");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bNumber = new JButton("8");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bNumber = new JButton("9");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bOperator = new JButton("/");

bOperatorsetForeground(Colorred);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,0,3,0));

pDownadd(bOperator);

bOperator = new JButton("sqrt");

bOperatoraddActionListener(this);

bOperatorsetForeground(Colorred);

bOperatorsetMargin(new Insets(3,0,3,0));

pDownadd(bOperator);

bNumber = new JButton("4");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

bNumbersetHorizontalTextPosition(JButtonLEFT);

pDownadd(bNumber);

bNumber = new JButton("5");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bNumber = new JButton("6");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bOperator = new JButton("");

bOperatorsetForeground(Colorred);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bOperator = new JButton("%");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bNumber = new JButton("1");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bNumber = new JButton("2");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bNumber = new JButton("3");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bOperator = new JButton("-");

bOperatorsetForeground(Colorred);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bOperator = new JButton("1/x");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

pDownadd(bOperator);

bNumber = new JButton("0");

bNumbersetForeground(Colorblue);

bNumberaddActionListener(this);

bNumbersetMargin(new Insets(3,3,3,3));

pDownadd(bNumber);

bOperator = new JButton("+/-");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bOperator = new JButton("");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bOperator = new JButton("+");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

bOperator = new JButton("=");

bOperatorsetForeground(Colorblue);

bOperatoraddActionListener(this);

bOperatorsetMargin(new Insets(3,3,3,3));

pDownadd(bOperator);

pRightadd(pUp,BorderLayoutNORTH);

pRightadd(pDown,BorderLayoutSOUTH);

pBottomadd(pRight,BorderLayoutEAST);

contentPaneadd(pBottom,BorderLayoutSOUTH);

fsetSize(new Dimension(320,256));

fsetResizable(false);

fsetVisible(true);

faddWindowListener(new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

Systemexit(0);

}

}

);

}

/Java计算器 计算方法区/

public void actionPerformed(ActionEvent e)

{

String s = egetActionCommand();

if(sequals("复制(C)"))

{

String temp = tResultgetText()trim();

copyBoardreplace(0, copyBoardlength(), temp);

mPastesetEnabled(true);

}

else if(sequals("粘贴(p)"))

{

tResultsetText(copyBoardtoString());

}

else if(sequals("CE"))

{

//如果是CE则清除文本框

tResultsetText("0");

}

else if(sequals("BackSpace"))

{

if(!tResultgetText()trim()equals("0"))

{

//如果文本框中有内容

if(strlength()!=1 && strlength()!=0)

{

tResultsetText(strdelete(strlength()-1,strlength())toString());

}

else

{

tResultsetText("0");

strsetLength(0);

}

}

op2 = DoubleparseDouble(tResultgetText()trim());

}

else if(sequals("C"))

{

//如果是C删除当前计算

tResultsetText("0");

op1 = op2 = 0;

strreplace(0, strlength(), " ");

preOp = currentOp = 0;

}

else if(sequals("MC"))

{

//如果是MC则清除缓冲区

String temp = "";

memoryreplace(0, memorylength(), temp);

bMsetText(" ");

}

else if(sequals("MR"))

{

//如果按键为MR则恢复缓冲区的数到文本框

tResultsetText(memorytoString());

}

else if(sequals("MS"))

{

//如果按键为MS则将文本框的数存入缓冲区

String s1 = tResultgetText()trim();

memoryreplace(0, memorylength(), s1);

bMsetText("M");

}

else if(sequals("M+"))

{

//如果按键为MS则将文本框值与缓冲区的数相加但不显示结果

String temp1 = tResultgetText()trim();

double dtemp = DoubleparseDouble(temp1);

String temp2 = memorytoString();

dtemp += DoubleparseDouble(temp2);

temp1 = StringvalueOf(dtemp);

memoryreplace(0, memorylength(), temp1);

}

else if(sequals("1/x"))

{

//如果按键为1/x则将文本框中的数据为它的倒数

String temp = tResultgetText()trim();

double dtemp = DoubleparseDouble(temp);

tResultsetText(""+1/dtemp);

}

else if(sequals("sqrt"))

{

//如果按键为sqrt则将文本框中的内容求平方根

String temp = tResultgetText()trim();

double dtemp = DoubleparseDouble(temp);

tResultsetText(""+Mathsqrt(dtemp));

}

else if(sequals("+"))

{

strsetLength(0);

if(currentOp==0)

{

preOp = currentOp = 1;

op2 = 0;

tResultsetText(""+op1);

}

else

{

currentOp = preOp;

preOp = 1;

switch(currentOp){

case 1:

op1 += op2;

tResultsetText(""+op1);

break;

case 2:

op1 -= op2;

tResultsetText(""+op1);

break;

case 3:

op1 = op2;

tResultsetText(""+op1);

break;

case 4:

op1 /= op2;

tResultsetText(""+op1);

break;

}

}

}

else if(sequals("-")){

strsetLength(0);

if(currentOp==0)

{

preOp=currentOp=2;//op1=op2;op2=0;

tResultsetText(""+op1);

}

else

{

currentOp =preOp;

preOp =2;

switch(currentOp){

case 1:op1=op1+op2;tResultsetText(""+op1);break;

case 2:op1=op1-op2;tResultsetText(""+op1);break;

case 3:op1=op1op2;tResultsetText(""+op1);break;

case 4:op1=op1/op2;tResultsetText(""+op1);break;

}

}

}

else if(sequals(""))//

{

strsetLength(0);

if(currentOp==0)

{

preOp=currentOp=3;//op1=op2;op2=1;

tResultsetText(""+op1);//op1=op2;

}

else

{

currentOp =preOp;

preOp =3;

switch(currentOp){

case 1:op1=op1+op2;tResultsetText(""+op1);break;

case 2:op1=op1-op2;tResultsetText(""+op1);break;

case 3:op1=op1op2;tResultsetText(""+op1);break;

case 4:op1=op1/op2;tResultsetText(""+op1);break;

}

}

}

else if(sequals("/"))// /

{

strsetLength(0);

if(currentOp==0)

{

preOp=currentOp=4;//op2=1;

tResultsetText(""+op1);//op1=op2;

}

else

{

currentOp =preOp;

preOp =4;

switch(currentOp){

case 1:op1=op1+op2;tResultsetText(""+op1);break;

case 2:op1=op1-op2;tResultsetText(""+op1);break;

case 3:op1=op1op2;tResultsetText(""+op1);break;

case 4:op1=op1/op2;tResultsetText(""+op1);break;

}

}

}

else if(sequals("="))// =

{

if(currentOp==0)

{

strsetLength(0);

tResultsetText(""+op2);

}

else

{

strsetLength(0);

currentOp =preOp;

switch(currentOp){

case 1:op1=op1+op2;tResultsetText(""+op1);break;

case 2:op1=op1-op2;tResultsetText(""+op1);break;

case 3:op1=op1op2;tResultsetText("&qu


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10564570.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-09
下一篇 2023-05-09

发表评论

登录后才能评论

评论列表(0条)

保存