问题 问答题

请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本区作为输入,2个按钮,一个单击完成计算,一个单击退出程序。
注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件代码清单如下:
import java.awt.*;
import java.awt.event.*;
public class ex7_2 extends Frame implements ActionListener

private Label 1;
private TextField tf,tf2;
public static void main(String args[])

ex7_2 obj7_2=new ex7_2();

public ex7_2()

setTitle("ex7_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(l);
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.getActlonCommand().equals("OK"))

try

int a=Integer.parseInt(tf.getText());
int b=Integer.parseInt(tf2.getText());
int r,i;
while(b>0)
______;
______;
b=r;

l.setText("最大公约数: "+Integer.toString(a));
catchNumberFormatException nfe)

l.setText("请正确输入!");



答案

参考答案:r=a%b
a=b

解析: 本题主要考查AWT基本构件和事件处理机制以及基本的求最大公因数的算法。解题关键是掌握Button,Panel,Label等构件的使用方法,会处理整数异常,熟练掌握while语句用法。本题中,第1个空,r为a除以b的余数;第2个空,a更新为b的值。

单项选择题
单项选择题