下面是一个Applet程序,其功能是在图形用户界面中实现打印任意行数的杨辉三角形,编写一个含有整型形式参数的方法,此方法打印杨辉三角形,打印的行数由形式参数指定。编写Applet程序接受用户输入的整数,作为实际参数传递并调用上面的方法,要求图形用户界面上包

admin2009-01-15  83

问题 下面是一个Applet程序,其功能是在图形用户界面中实现打印任意行数的杨辉三角形,编写一个含有整型形式参数的方法,此方法打印杨辉三角形,打印的行数由形式参数指定。编写Applet程序接受用户输入的整数,作为实际参数传递并调用上面的方法,要求图形用户界面上包含一个文本区作为输入参数的入口,一个带有纵向滚动条的文本面板作为输出打印结果的区域,一个按钮,点击则完成打印。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
   注意:不改动程序的结构,不得增行或删行。
   程序运行结果如下:
         
     import javax.swing.*;
     import java.awt.*;
     import java.awt.event.*;
     /*
     <applet  code="exll_3.class" width=800 height=400 >
       </applet>
     */
     public class exll_3 extends JApplet
          private JButton jb = new JButton("OK");
          private JTextPane jtp = new JTextPane();
          private JTextField itl=new JTextField(8);
          private int n=15;
          public void init()  {
            jb.addActionListener(new ActionListener()  {
              public void actionPerformed(ActionEvent e){
                n=jtf.getText();
                jtp.setText(  ""  );
                for(int i = n-1;  i>=0;i--){
                   String s = "";
                   for(int j = 0; j < i; j++)
                      s  +=  "   ";
                   for(int j = 0;  j < n;  j++)
                      s  + =   "*";
                   jtp.setText(s+"\n");
                }
             }
        });
        Container cp = getContentPane();
        cp.add(BorderLayout.NORTH,jtf);
        cp.add(BorderLayout.CENTER,new JScrollPane(jtp));
        cp.add(BorderLayout.SOUTH,  jb);
     }
      public static void main(String[]  args)  {
         ex11_3 obj11_3=new ex11_3();
      String str = obj11_3.getClass() .toString();
         if(str.indexOf("class") != -1)
           str= str.substring(6);
         JFrame frm = new JFrame(str);
         frm.addWindowListener(new WindowAdapter()  {
           public void windowClosing(WindowEvent we)  {
              System.exit (0);
           }
        });
     frm.getContentPane().add(obj11_3);
     frm.setsize(300,  500);
     frm.setVisible(true);
   }
}
ex11_3.html
<HTML>
<HEAD>
    <TITLE>ex11_3</TITLE>
</HEAD>
<BODY>
<applet code="ex11_3.class" width=800 height=400 >
</applet>
</BODY>
</HTML>

选项

答案n=Integer.parseInt(jtf.getText()) int j=i;j<n;i++ jtp.getText()+s+”\n"

解析 本题主要考查swing图形用户界面设计和Applet窗口相结合解决一些实际问题的综合应用。解题关键是熟悉swing的基本构件库,包括JFrame,JTextPane,JButton以及swing的事件机制,还需要熟悉swing和Applet应用相结合的程序设计方法,并且要会设计一些解决简单问题的算法,杨辉三角形就是一例。本题中,第一处,对象jd调用方法getText()得到的是文本面板中的字符串类型的数据,而n是整形数据类型,因此需要做数据类型转换;第二处,循环变量j应该从外层循环变量i开始一直到n,否则输出的“*”数目不变;第三处,应该在已有的输出结果之上在输出一行新的串,因此需要加上jip.getText()。
转载请注明原文地址:https://kaotiyun.com/show/gIID777K
0

相关试题推荐
最新回复(0)