同じ誕生日の確率

int ox=50,oy=200;
for(i=0;i<knum;i++){
// (int)は整数型に変換
g.drawLine(ox+i*3,oy,ox+i*3,(int)(oy-prob[i]*100));
}
void button1_actionPerformed(ActionEvent e) {
//確率計算
knum=Integer.parseInt(knumField.getText());
int i;
double prb=1.0;
//80人以上の場合、80にする
if(knum>80) {
knum=80;
knumField.setText("80");
}
//確率計算、配列記録
for(i=1;i<knum;i++){
prb = prb*(365-i)/365;
prob[i]=1-prb;
}
//k人の確率表示
label1.setText(Double.toString(1-prb));
//再表示 paint()を呼び出す
repaint();
}
public void paint(Graphics g){
//グラフ表示
int i;
//グラフの原点
int ox=50,oy=200;
for(i=0;i<knum;i++){
// (int)は整数型に変換
g.drawLine(ox+i*3,oy,ox+i*3,(int)(oy-prob[i]*100));
}
}
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Birthday extends Applet {
private boolean isStandalone = false;
int knum = 10;
double prob[] = new double[80];
private TextField knumField = new TextField();
private Label label1 = new Label();
private Button button1 = new Button();
//コンポーネントの初期化
public void init() {
//GUI部品の配置、設定
knumField.setText("10");
knumField.setBounds(new Rectangle(40, 40, 50, 20));
this.setLayout(null);
label1.setBackground(SystemColor.activeCaptionText);
label1.setText("label1");
label1.setBounds(new Rectangle(200, 40, 70, 20));
button1.setLabel("計算");
button1.setBounds(new Rectangle(120, 40, 60, 20));
//ボタンを押したとき呼び出す関数を指定
button1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button1_actionPerformed(e);
}
});
this.add(knumField, null);
this.add(button1, null);
this.add(label1, null);
}
void button1_actionPerformed(ActionEvent e) {
//確率計算
int i;
double prb = 1.0;
//人数を読む
knum = Integer.parseInt(knumField.getText());
//80人以上の場合、80にする
if (knum > 80) {
knum = 80;
knumField.setText("80");
}
//確率計算、配列記録
for (i = 1; i < knum; i++) {
prb = prb * (365 - i) / 365;
prob[i] = 1 - prb;//i人が同じ誕生日となる確率
}
//k人の確率表示
label1.setText(Double.toString(1 - prb));
//再表示 paint()を呼び出す
repaint();
}
public void paint(Graphics g) {
//グラフ表示
int i;
//グラフの原点
int ox = 50, oy = 200;
//y軸は方向を反転する
for (i = 0; i < knum; i++) {
// (int)は整数型に変換
g.drawLine(ox + i * 3, oy, ox + i * 3, (int) (oy - prob[i] * 100));
}
}
}