请完成下列Java程序:输入2个整数,求最大公约数。要求有2个单行文本区作为输入,2个按钮,一个点击完成计算,一个点击退出程序。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下:

admin2009-01-15  30

问题 请完成下列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基本构件和事件处理机制以及基本的求最大公因数的算法。解题关键是掌握Button,Panel,Label等构件的使用方法,会处理整数异常,熟练掌握while语句用法。本题中,第1个空,r为a除以b的余数;第2个空,a更新为b的值。
转载请注明原文地址:https://kaotiyun.com/show/b1np777K
0

最新回复(0)