📄 calculator.java
字号:
/*
下面是一个计算器的例子。例子使用了java.awt.lang包中的Math类,该类有许多在计
算时经常需要的静态方法,比如Math.sin(0.98)将返回0.98的正弦值,Math.pow(2,3)将返
回2的3次方。
*/
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
class Panela extends Panel
{
Button b1, b2, b3, b4, b5, b6;
Button b7, b8, b9, b10, b11, b12;
Panela()
{
setLayout(new GridLayout(4, 3));
b1=new Button("sin(a)"); b2=new Button("cos(a)"); b3=new Button("tan(a)");
b4=new Button("asin(a)"); b5=new Button("acos(a)"); b6=new Button("atan(a)");
b7=new Button("pow(a, b):a的b次幂"); b8=new Button("abs(a):绝对值");
b9=new Button("sqrt(a):平方根"); b10=new Button("exp(a)");
b11=new Button("log(a): 自然对数");b12=new Button("max(a, b)");
add(b1); add(b2); add(b3); add(b4); add(b5); add(b6);
add(b7); add(b8); add(b9); add(b10); add(b11); add(b12);
}
}
class Panelb extends Panel
{
Label label;
Panelb()
{
setLayout(new GridLayout(1, 1));
label=new Label("计算器", Label.CENTER);
add(label);
}
}
class Panelc extends Panel
{
TextField text1, text2;
Panelc()
{
setLayout(new GridLayout(1, 4));
text1=new TextField();text2=new TextField();
add(new Label( "输入数 a")); add(text1); add(new Label("输入数b")); add(text2);
}
}
class Paneld extends Panel
{
TextField text;
Paneld()
{
setLayout(new GridLayout(1, 2));
text=new TextField();
add(new Label("计算结果: "));
add(text);
}
}
public class Calculator extends Applet implements ActionListener
{
Panela A;Panelb B;Panelc C;Paneld D;
public void init()
{
setLayout(new GridLayout(4, 1));
A=new Panela();
B=new Panelb();
C=new Panelc();
D=new Paneld();
add(B);add(C);add(A);add(D);
A.b1.addActionListener(this);A.b2.addActionListener(this);A.b3.addActionListener(this);
A.b4.addActionListener(this);A.b5.addActionListener(this);A.b6.addActionListener(this);
A.b7.addActionListener(this);A.b8.addActionListener(this);A.b9.addActionListener(this);
A.b10.addActionListener(this);A.b11.addActionListener(this);
A.b12.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
double a, b, c;
if(e.getSource()==A.b1)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.sin(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b2)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.cos(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b3)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.tan(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b4)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.asin(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b5)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.acos(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b6)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.atan(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b7)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
b=Double.valueOf(C.text2.getText()).doubleValue();
c=Math.pow(a, b);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b8)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.abs(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b9)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.sqrt(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b10)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.exp(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b11)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
c=Math.log(a);
D.text.setText(String.valueOf(c));
}
else if(e.getSource()==A.b12)
{
a=Double.valueOf(C.text1.getText()).doubleValue();
b=Double.valueOf(C.text2.getText()).doubleValue();
c=Math.max(a, b);
D.text.setText(String.valueOf(c));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -