问答题
请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本区作为输入,2个按钮,一个点击完成计算,一个点击退出程序。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
程序运行结果如下:
import java.awt.*;
import java.awt.event.*;
public class ex21_2 extends Frame implements ActionListener {
private Label 1;
private TextField tf,tf2;
public static void main(String[] arg) {
ex21_2 obj21_2 = new ex21_2();
}
public ex21_2() {
setTitle("ex21_2");
Panel p1;
Button b =new Button("OK");
p1 = new Panel();
tf = new TextField(8);
p1.add(tf);
tf2=new TextField(8);
p1.add(tf2);
b.addActionListener(this);
p1.add(b);
b=new Button("Exit");
b.addActionListener(this);
p1.add(b);
add("North",p1);
Panel p2=new Panel();
l=new Label("最大公因数: ");
p2.add(1);
add("Center",p2);
setSize(500,300);
show();
}
public void actionPerformed(ActionEvent ae) {
if (ae.getActionCommand() .equals ("Exit")) //比较ae对象的标识名,是否为Exit。
System.exit(0);
else if(ae.getActionCommand().equals("OK")){
try{
int a=Integer.parseInt(tf.getText());
int b=Integer.parseInt(tf2.getText());
int r,i;
while(b>0){
_________________;
_________________;
b=r;
}
1.setText("最大公约数: "+Integer.toString(a));
}catch(NumberFormatException nfe){
1.setText("请正确输入! ");
}
}
}
}
【参考答案】
r=a%b a=b[解析] 本题主要考查AWT基本构件和事件处理机制以及基本的求最大公因数的算法。解题关键是掌握Butt......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)