问答题

请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本区作为输入,2个按钮,一个点击完成计算,一个点击退出程序。 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。 import java.awt.*; import java.awt.event.*; public class ex14_2 extends Frame implements ActionListener{ private Label l; private TextField tf,tf2; public static void main(String[]arg){ exl4_2 obj14_2=new ex14_2(); } public ex14_2(){ setTitle("ex14_2"); Panel p1; Button b=new Button("OK"); p1=new Panel(); tf=new TextField(8); p1.add(tf); d2=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(); 1=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