下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中的显示的“请先输入两个待比较的整数”,改为“两个整数中最大值:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句)并将程序填

admin2009-12-22  50

问题 下面是一个Applet程序,其功能是接收用户输入的两个整数,比较它们的大小,并在用户按下“比较”按钮后,将Applet中的显示的“请先输入两个待比较的整数”,改为“两个整数中最大值:x”,x是两个数中的最大值。请改正程序中的错误(有下划线的语句)并将程序填写完整,使程序能输出正确的结果。
   注意:不改动程序结构,不得增行或删行。
   import java.applet.*;
   import java.awt.*;
   import java.awt.event.*;
   public class FindMax extends Applet______
   {
      Label result;
      TextField in1,in2;
      Button btn;
      int a=0,b=0,max;
      public void int()
      {
         result=new Label(“请先输入两个待比较的整数”);
         in1=new TextField(5);
         in2=new TextField(5);
         btn=new Button("比较");
         add(in1);
         add(in2);
         add(btn);
         add(result);
         btn.addActionListener(this);
      }
      Public void actionPerformed(ActionEvent e)
      {
         a=in1;
         b=in2;
         if(a>b)
            max=a;
         else
            max=b;
         btn.setText(“两个数中最大值:”+max);
      }
   }
   Findmax.html:
   <HTML>
   <HEAD>
   <TITLE>A Simple Program</TITLE>
   </HEAD>
   <BODY>
   <applet code="FindMax.class"width=800 height=400>
   </applet>
   </BODY>
   </HTML>

选项

答案implement ActionListener 将a=in1;改为a=Integer.parseInt(in1.getText()); 将b=in2;改为b=Integer.parseInt(in2.getText()); 将btn.setText(“两个数中最大值:”+max);改为result.setText("两个数中最大值:"+max);

解析 本题考查文本框、Applet操作和事件处理。按钮可以引发动作事件,当用户单击一个按钮时就引发了一个动作事件,希望相应按钮引发的动作事件的程序必须把按钮注册给实现了ActionListener接口的动作事件监听者。  因此,第1空应该填入的是implement ActionListener。为了接收用户输入的两个整数,需要获得文本框的内容,并将其转化为整数。而a=in1;b=in2;两个赋值语句直接将文本框对象等同于整数,不能得到正确的结果。这两句应该改为a=Integer.parseInt(in1.getText());b=Integer.parseInt(in2.getText());,其中,getText()获得文本框的内容,返回字符串。而Integer.parseInt(String)将字符串对象转换为整数。另外,根据题意,是要在Applet上的“请先输入两个待比较的整数”改为“两个整数中最大值:x”。其中前一个引号中的话是显示在标签中的,因此btn.setText("两个整数中最大值:x"+max);中的操作对象有误,应该将按钮对象btn改为标签对象result。
转载请注明原文地址:https://jikaoti.com/ti/tQb0FFFM
0

随机试题
最新回复(0)