ja ...
er der koden -- og den virker -- men der bliver ikke testet for at man kommer til at taste bogstaver i felterne - der vil man få exception (ved parsingen) -- men dette er for at få dig startet :-))
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Projekt1 extends Applet implements ActionListener {
TextField textFieldN1 = new TextField(5);
TextField textFieldRes1 = new TextField(30);
TextField textFieldQ = new TextField(5);
TextField textFieldRes2 = new TextField(30);
Button resultat1 = new Button("Beregn");
Button resultat2 = new Button("Beregn");
long nRes = 0;
public void init() {
Panel panel = new Panel();
Panel panel2 = new Panel();
setLayout(new BorderLayout());
Label label =
new Label("Beregning af n-fakultet: n = ");
Label label2 = new Label(" resultat = ");
Label label4 = new Label("Beregning af n,q-kombination: q = ");
Label label5 = new Label(" resultat = ");
Label label6 =
new Label("Copyright by Bjarke Kleif 2002, visit
www.mypage.dk v1");
resultat1.addActionListener(this);
resultat2.addActionListener(this);
textFieldN1.addActionListener(this);
textFieldRes1.addActionListener(this);
textFieldQ.addActionListener(this);
textFieldRes2.addActionListener(this);
panel.add(label);
panel.add(textFieldN1);
panel.add(resultat1);
panel.add(label2);
panel.add(textFieldRes1);
panel2.add(label4);
panel2.add(textFieldQ);
panel2.add(resultat2);
panel2.add(label5);
panel2.add(textFieldRes2);
add("North", panel);
add("Center", panel2);
add("South", label6);
}
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if (obj == resultat1) {
int resultat = 1;
long noOfTal = Integer.parseInt(textFieldN1.getText());
for (int n = 1; n <= noOfTal; n++) {
resultat = resultat * n;
}
textFieldRes1.setText("n! af " + noOfTal + " er " + resultat);
} else if (obj == resultat2) {
boolean safeToGo = true;
if (textFieldN1.getText().equals("")) {
textFieldRes1.setText("du skal indtaste en n-værdi!");
safeToGo = false;
}
if (textFieldN1.getText().equals("")) {
textFieldRes1.setText("du skal indtaste en q-værdi!");
safeToGo = false;
}
if(safeToGo) {
int tal1 = Integer.parseInt(textFieldN1.getText());
int tal2 = Integer.parseInt(textFieldQ.getText());
if (tal1 <= tal2) {
textFieldRes2.setText(" ");
textFieldRes1.setText("n skal være større end q!");
} else {
textFieldRes1.setText(" ");
int tal3 = tal1 - tal2;
int i = 1;
for (long p = 1; i <= tal3; i++) {
p = p * i;
if (i == tal3) {
int j = 1;
for (long n = 1; j <= tal1; j++) {
n = n * j;
if (j == tal1) {
nRes = n;
int u = 1;
for (long m = 1; u <= tal2; u++) {
m = m * u;
if (u == tal2) {
long nqRes = nRes / (m * p);
textFieldRes2.setText(
"kombinatorik af n,q er " + nqRes);
}
}
}
}
}
}
}
}
}
}
}