急!!对一个JAVA源代码加注释~~~

2024-11-23 19:34:18
推荐回答(2个)
回答1:

import java.awt.*; // 导入相应的awt工具组件
import java.awt.event.*;// 导入awt工具组件的事件类

/**
* 作用:Calc类用于演示加法计算器的功能


* @author 网络用户
* @version 1.0 2009-6-3
* @since JDK 1.5
*/
class Calc extends WindowAdapter implements ActionListener
{
//以下声明相关变量
Frame f; //窗口
// Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9;
Button b[] = new Button[10]; //10个按钮,分别对应数字0到9
Button be, badd, bc; //bc为=,badd为+,bc为归0按钮
TextField answer; //文本框answer用于显示相加的结果
Panel p; //面板
int t1, t2,result; //t1,t2分别表示被加数,加数

Button bmin, bmul, bdev; //bmin为-,bmul为*,bdev为/

String op1 = null,lastOP = null;
boolean isOK = true;

/**
* 作用:main方法为程序运行的入口
* @param args
*/
public static void main( String args[] )
{
Calc cg = new Calc(); //创建一个calc类的对象
cg.go(); //调用go方法,显示加法器界面,并完成加法功能
}

/**
* 作用:go()方法用于显示加法器界面,并完成加法功能
*/
public void go()
{
p = new Panel(); //创建面板的对象,10个按钮将在此面板对象上添加和显示
answer = new TextField("0", 15); //设置文本框的默认值为0,文本框的长度15个字符
b[0] = new Button("0"); //以下就是那10个按钮,按钮上的文本就是0到9的数字
b[1] = new Button("1");
b[2] = new Button("2");
b[3] = new Button("3");
b[4] = new Button("4");
b[5] = new Button("5");
b[6] = new Button("6");
b[7] = new Button("7");
b[8] = new Button("8");
b[9] = new Button("9");
be = new Button("="); //=号
badd = new Button("+"); //+号
bc = new Button("C"); //归0按钮
bmin = new Button("-"); //-号
bmul = new Button("*"); //*号
bdev = new Button("/"); //除号
p.setLayout(new GridLayout(4, 4)); //将面板设置为4行3列,即12个格子,刚好可以存放地10个数字按钮另加+号按钮和=号按钮,共12个按钮
p.add(b[1]);
p.add(b[2]);
p.add(b[3]);
p.add(b[4]);
p.add(b[5]);
p.add(b[6]);
p.add(b[7]); //添加10个数字按钮到面板上
p.add(b[8]);
p.add(b[9]);
p.add(b[0]);
for( int i = 0; i < b.length; i++ )
b[i].addActionListener(this); //为10个数字按钮添加事件监听器,以用于实现加法功能

p.add(be); //添加=号按钮到面板上
p.add(bc); //归0按钮
p.add(badd); //添加+号按钮到面板上
be.addActionListener(this); //为=号按钮添加事件监听器,用于实现加法功能
bc.addActionListener(this); //为归0按钮添加事件监听器,用于将计算结果归0
badd.addActionListener(this); //为+号按钮添加事件监听器,用于实现加法功能

p.add(bmin); //-号
p.add(bmul); //*号
p.add(bdev); //除号
bmin.addActionListener(this);
bmul.addActionListener(this);
bdev.addActionListener(this);

f = new Frame("计算器"); //创建一个Frame对象(窗口),窗口的标题就是calc
f.setLocation(300, 300); //窗口的弹出位置
f.setSize(300, 300); //窗口的大小为300*300像素
f.add(answer, "North"); //将文本框设置在窗口的北部(上),窗口的默认布局为BorderLayout,即东西南北中5个位置
f.add(p, "Center"); //将面板设置在窗口的中部(中)
f.addWindowListener(this); //为窗口添加事件监听器,用于实现关闭窗口的功能
f.pack(); //此方法用于窗口到合适的大小
f.setVisible(true); //显示窗口,为false时将不会显示窗口
}

//在10个数字按钮和3个功能按钮上单击,将触发此方法
public void actionPerformed( ActionEvent e )
{
if( e.getSource() == bc )
{//单击了归0按钮,设置为默认值
result = 0;
lastOP = null ;
answer.setText("0"); //文本框设为0
isOK = true; //已经经过运算了
} else if( e.getSource() == badd || e.getSource() == bmin || e.getSource() == bmul || e.getSource() == bdev ||e.getSource() == be)
{//单击运算符号的按钮
op1 = e.getActionCommand();
getResult(op1);
} else
{//单击0到9之间的任意一个数字按钮
for( int i = 0; i < b.length; i++ )
if( e.getSource() == b[i] )
{
if( isOK == true )
{
answer.setText(b[i].getActionCommand());
isOK = false;
}
else
{
answer.setText(answer.getText()+b[i].getActionCommand()); //在文本框上显示连续单击那几个数字
}
}
}

}

/**
* 作用:getResult()方法用于计算出结果值,并在文本框显示出来


* @param op 本次操作运算符
* @param text
*/
private void getResult( String op )
{
if(answer.getText().equals("除数不能为0"))
{
answer.setText(result+"");
return;
}

if( lastOP==null )
{//没有上一次的操作
if(op.equals("=")){
return;
}else{
result = Integer.parseInt(answer.getText());
}
} else if( lastOP.equals("+") )
{//上一次单击了+号按钮
result = result + Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
} else if( lastOP.equals("-") )
{//单击-号按钮
result = result - Integer.parseInt(answer.getText());
answer.setText(result+"");//在文本框上显示相加的结果
} else if( lastOP.equals("*") )
{//单击*号按钮
result = result * Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
} else if( lastOP.equals("/") )
{//单击/号按钮
if(answer.getText().equals("0")) answer.setText("除数不能为0"); //文本框设为0
else{
result = result / Integer.parseInt(answer.getText());
answer.setText(result+""); //文本框设为0
}
}
isOK = true; //已经经过运算了
lastOP = op; //记下本次操作
}

//关闭窗口,触发此方法
public void windowClosing( WindowEvent ev )
{
System.exit(0); //退出程序
}
}

回答2:

太长了吧!