速度求JAVA编写的计算器代码

王朝知道·作者佚名  2010-10-07
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

新手,不怎么懂 最好加翻译^-^

參考答案:

你自己看一下吧?应该可以看的懂的.

import java.awt.*;

import java.awt.event.*;

import java.util.Date;

public class CalcV1_0 implements ActionListener {

MenuBar mb;

Menu help;

MenuItem help_1,help_2;

Frame win=new Frame("CalcV1_0");

Label label=new Label();

Date date=new Date();

Panel num=new Panel();

Panel meth=new Panel();

TextArea display=new TextArea();

Button add1,sub,mul,div;

Button hex,ox;

int no1,no2,no4;

float no3;

String ch,ch3;

Button res=new Button("=");

Button canc=new Button("CE");

Button but7=new Button("7");

Button but8=new Button("8");

Button but9=new Button("9");

Button but4=new Button("4");

Button but5=new Button("5");

Button but6=new Button("6");

Button but1=new Button("1");

Button but2=new Button("2");

Button but3=new Button("3");

Button but0=new Button("0");

public void test()

{

mb=new MenuBar();

win.setMenuBar(mb);

help=new Menu("帮助");

mb.setHelpMenu(help);

help_1=new MenuItem("注意事项");

help_2=new MenuItem("联系我们");

help.add(help_1);

help.add(help_2);

label.setText("今天星期"+Integer.toString(date.getDay()));

add1=new Button("+");

sub=new Button("-");

mul=new Button("*");

div=new Button("/");

hex=new Button("十六进制");

ox=new Button("二进制");

win.setLayout(new GridLayout(4,0));

num.setLayout(new GridLayout(4,3));

meth.setLayout(new GridLayout(0,4));

num.add(but7);

num.add(but8);

num.add(but9);

num.add(but4);

num.add(but5);

num.add(but6);

num.add(but1);

num.add(but2);

num.add(but3);

num.add(but0);

num.add(canc);

num.add(res);

but0.addActionListener(this);

but1.addActionListener(this);

but2.addActionListener(this);

but3.addActionListener(this);

but4.addActionListener(this);

but5.addActionListener(this);

but6.addActionListener(this);

but7.addActionListener(this);

but8.addActionListener(this);

but9.addActionListener(this);

canc.addActionListener(new CE());

add1.addActionListener(new METH());

sub.addActionListener(new METH());

mul.addActionListener(new METH());

div.addActionListener(new METH());

res.addActionListener(new RES());

hex.addActionListener(new H());

ox.addActionListener(new O());

help_1.addActionListener(new HELP1());

help_2.addActionListener(new HELP2());

add1.setSize(10, 10);

meth.add(add1);

meth.add(sub);

meth.add(mul);

meth.add(div);

meth.add(hex);

meth.add(ox);

win.add(display);

win.add(num);

win.add(meth);

win.add(label);

win.setSize(400,400);

win.setVisible(true);

win.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

System.exit(0);

}

});

}

public void actionPerformed(ActionEvent e){

display.setBackground(Color.white);

display.append(e.getActionCommand());

}

private class CE implements ActionListener{

public void actionPerformed(ActionEvent ex){

display.setBackground(Color.white);

display.setText("");

no1=0;

no2=0;

no3=0;

no4=0;

}

}

private class METH implements ActionListener{

public void actionPerformed(ActionEvent ey){

no1=Integer.parseInt(display.getText());

display.setText("");

ch=ey.getActionCommand();

}

}

private class RES implements ActionListener{

public void actionPerformed(ActionEvent es){

no2=Integer.parseInt(display.getText());

if(ch=="+")

{no3=no1+no2;

ch3=Float.toString(no3);

display.setText(ch3);

}

else if(ch=="-")

{no3=no1-no2;

ch3=Float.toString(no3);

display.setText(ch3);

}

else if(ch=="*")

{no3=no1*no2;

ch3=Float.toString(no3);

display.setText(ch3);

}

else if(ch=="/")

{no3=(float)no1/no2;

ch3=Float.toString(no3);

display.setText(ch3);

}

}

}

private class H implements ActionListener{

public void actionPerformed(ActionEvent ed){

no4=Integer.parseInt(display.getText());

display.setText("");

int[] c=new int[10];

int t=0,i=0;

do

{

c[t]=no4%16;

t++;

no4=no4/16;

} while((no4/16)!=0);

c[t]=no4%16;

for(i=t;i>=0;i--)

{

if(c[i]==10)

display.append("A");

else if(c[i]==11)

display.append("B");

else if(c[i]==12)

display.append("C");

else if(c[i]==13)

display.append("D");

else if(c[i]==14)

display.append("E");

else if(c[i]==15)

display.append("F");

else display.append(Integer.toString(c[i]));

}

}

}

private class O implements ActionListener{

public void actionPerformed(ActionEvent e){

no4=Integer.parseInt(display.getText());

int a[];

display.setText("");

a=new int[30];

int i=0;

while(no4/2!=0)

{

a[i]=no4%2;

no4=no4/2;

i++;

}

a[i]=no4%2;

for(;i>=0;i--)

display.append(Integer.toString(a[i]));

}

}

private class HELP1 implements ActionListener{

public void actionPerformed(ActionEvent e){

display.setBackground(Color.orange);

display.setText("请在完成一次运算后按下CE按扭清除结果!" +

"否则运行错误!该版本将不断完善,期待你的支持!");

}

}

private class HELP2 implements ActionListener{

public void actionPerformed(ActionEvent e){

display.setBackground(Color.orange);

display.setText("Email:pc_386@163.com");

}

}

public static void main (String[]args){

CalcV1_0 s=new CalcV1_0();

s.test();

}

}

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航