組み合わせの数

int fact(int num){
int rs=1;
for (int i=1;i<=num;i++){
rs = rs*i;
}
return rs;
}
void permbutton_actionPerformed(ActionEvent e) {
int rs=1;
int nnum=Integer.parseInt(nField.getText());
int knum=Integer.parseInt(kField.getText());
rField.setText(Integer.toString(fact(nnum)/fact(nnum-knum)));
}
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class PermNum extends Applet {
private boolean isStandalone = false;
private TextField nField = new TextField();
private TextField kField = new TextField();
private Button permbutton = new Button();
private TextField rField = new TextField();
private Label label1 = new Label();
private Label label2 = new Label();
//コンポーネントの初期化
public void init() {
nField.setText("5");
nField.setBounds(new Rectangle(60, 40, 60, 20));
this.setLayout(null);
kField.setBounds(new Rectangle(200, 40, 60, 20));
kField.setText("3");
permbutton.setLabel("順列");
permbutton.setBounds(new Rectangle(50, 100, 80, 20));
permbutton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
permbutton_actionPerformed(e);
}
});
rField.setText("0");
rField.setBounds(new Rectangle(100, 150, 80, 20));
label1.setText("n");
label1.setBounds(new Rectangle(35, 40, 20, 20));
label2.setText("k");
label2.setBounds(new Rectangle(160, 40, 20, 20));
this.add(permbutton, null);
this.add(kField, null);
this.add(rField, null);
this.add(nField, null);
this.add(label1, null);
this.add(label2, null);
}
int fact(int num){
int rs=1;
for (int i=1;i<=num;i++){
rs = rs*i;
}
return rs;
}
void permbutton_actionPerformed(ActionEvent e) {
int rs=1;
int nnum=Integer.parseInt(nField.getText());
int knum=Integer.parseInt(kField.getText());
rField.setText(Integer.toString(fact(nnum)/fact(nnum-knum)));
}
}