我是个初学者,现在要写一个Applet,监听textfield中输入的数字,然后算出这个数的阶乘。小弟在这里求助,大家帮给忙吧~

解决方案 »

  1.   

    I am newCpmer too...I know it'sont your answer.but I only whrit this...
    Don't make joke on me!
    class JieCheng
    {
          public static void main(String[] args)
          {
             int temp=1;
             int sum=0;
             int n=10;
             for(int i=1;i<n;i++)
             {
              temp*=i;
              sum+=temp;
             }
            System.out.println("sum="+sum);
          }
    }
      

  2.   

    int jc(int i)
    {
        if(i==0||i==1)
           return 1;
        else
           return i*jc(i-1);
    }
      

  3.   

    我做过APPLICATION就是没做过applet
    阶乖不会就搞APPLET
    我只想说你强
      

  4.   

    int jc(int i)
    {
        if(i<1)
            System.out.println("the number you write must >=1");
        else if(i=1)
           return 1;
        else
           return i*jc(i-1);
    }改进一下daizhenbest(牛牛) 的东西~~~,思想就是一个递归的思想~~~~
      

  5.   

    else if(i=1)改成 else if(i==1)~~~~~,汗一个~~~~
      

  6.   

    public int jiecheng(int i){
    int result=1;
    for(int j=2;j<=i;j++){
    result*=j;
    }
    return result;
    }
    还是最好别用递归把,太慢
      

  7.   

    采用 libo2006(笑傲江湖)  的方案吧
      

  8.   

    1,编写Applet文件MyApplet.java,内容如下:import java.applet.Applet;
    import java.awt.Graphics;public class MyApplet extends Applet {
    static int count = 1;

    public void paint(Graphics g) {
    String parameter = getParameter("n");
    int n = 1;
    long l = 1;
    try {
    n = Integer.parseInt(parameter);
    } catch (NumberFormatException e) {
    e.printStackTrace();
    }
    for (int i = 2; i < n; i++) {
    l *= i;
    }
    g.drawString("Result is:" + l, 20, 20);
    }}
    2.javac编译以上文件,得到:MyApplet.class
    3.编写test.html文件,内容如下:
    <HTML>
    <TITLE>This is my Applet</TITLE>
    <APPLET
    CODE="MyApplet.class"
    WIDTH=200
    HEIGHT=200>
    <PARAM name="n" value="7" />
    </APPLET>
    </HTML>
    4.打开test.html
      

  9.   

    遗憾的是参数不能是动态的(需要改文件代码)要克服这一点的话,好像需要第三方的包,如:
    netscape.javascript.*
      

  10.   

    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import javax.swing.JPanel;
    import javax.swing.JApplet;
    import javax.swing.JLabel;
    import javax.swing.JTextField;
    import javax.swing.JScrollPane;
    import javax.swing.JTextArea;public class Test extends JApplet
    {
    private JPanel jContentPane = null;
    private JLabel jLabel = null;
    private JTextField jTextField = null;
    private JLabel jLabel1 = null; /**
     * This is the xxx default constructor
     */
    public Test()
    {
    super();
    } /**
     * This method initializes this
     * 
     * @return void
     */
    public void init()
    {
    this.setSize(300, 200);
    this.setContentPane(getJContentPane());
    } /**
     * This method initializes jContentPane
     * 
     * @return javax.swing.JPanel
     */
    private JPanel getJContentPane()
    {
    if (jContentPane == null)
    {
    jLabel1 = new JLabel();
    jLabel1.setText("");
    jLabel = new JLabel();
    jLabel.setText("请输入N值:");
    jContentPane = new JPanel();
    jContentPane.setLayout(new FlowLayout());
    jContentPane.add(jLabel);
    jContentPane.add(getJTextField());
    jContentPane.add(jLabel1, null);
    }
    return jContentPane;
    } /**
     * This method initializes jTextField
     * 
     * @return javax.swing.JTextField
     */
    private JTextField getJTextField()
    {
    if (jTextField == null)
    {
    jTextField = new JTextField(10);
    jTextField.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {
    jLabel1.setText(String.valueOf(jc(Integer
    .parseInt(jTextField.getText()))));
    } private double jc(double textField)
    {
    double i;
    i = textField;
    if (i == 0 || i == 1)
    {
    return 1;
    } else
    return i * jc(i - 1);
    }
    });
    }
    return jTextField;
    }
    }
    用eclipse3.2测试过,要嵌入到html中加:
    <HTML>
    <TITLE>Test</TITLE>
    <APPLET
    CODE="Test.class" WIDTH=300 HEIGHT=200>
    </APPLET>
    </HTML>
    就可以拉,^_^,记得给我加分哦。