问答题

请完成下列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......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)