Rekursives Berechnen von Fakultät (GUI)

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Rekursives Berechnen von Fakultät (GUI)

    So hier mal ein kleines Applet zur Berechnung von Fakultät:

    [code:1]
    import javax.swing.JPanel;
    import javax.swing.JApplet;
    import javax.swing.JButton;
    import java.awt.Rectangle;
    import javax.swing.JTextField;

    public class Faku extends JApplet
    {

    /**
    *
    */
    private static final long serialVersionUID = 1L;
    private JPanel jContentPane = null;
    private JButton jButton = null;
    private JTextField jTextField = null;
    /**
    * This is the xxx default constructor
    */
    public Faku()
    {
    super();
    }

    /**
    * This method initializes this
    *
    * @return void
    */
    public void init()
    {
    this.setSize(300, 200);
    this.setContentPane(getJContentPane());
    }

    public void start(){};

    /**
    * This method initializes jContentPane
    *
    * @return javax.swing.JPanel
    */
    private JPanel getJContentPane()
    {
    if (jContentPane == null)
    {
    jContentPane = new JPanel();
    jContentPane.setLayout(null);
    jContentPane.add(getJButton(), null);
    jContentPane.add(getJTextField(), null);
    }
    return jContentPane;
    }

    /**
    * This method initializes jButton
    *
    * @return javax.swing.JButton
    */
    private JButton getJButton()
    {
    if (jButton == null)
    {
    jButton = new JButton();
    jButton.setBounds(new Rectangle(199, 145, 92, 32));
    jButton.setText("Fakultät");
    jButton.addActionListener(new java.awt.event.ActionListener()
    {
    public void actionPerformed(java.awt.event.ActionEvent e)
    {
    long n = Long.parseLong(jTextField.getText() );
    doFak(n);
    jTextField.setText(String.valueOf(doFak(n)));

    }
    });
    }
    return jButton;
    }

    long doFak(long n)
    {
    if (n == 0) return 1;
    else return n * doFak(n-1);
    }

    /**
    * This method initializes jTextField
    *
    * @return javax.swing.JTextField
    */
    private JTextField getJTextField()
    {
    if (jTextField == null)
    {
    jTextField = new JTextField();
    jTextField.setBounds(new Rectangle(50, 55, 92, 23));
    }
    return jTextField;
    }

    }


    [/code:1]

    Das ganze gibt es wie immer auf meiner Seite zu sehen :wink:
    mfg KC