Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Ich wollte mal eine frage loswerden.
Und zwar habe ich ein Problem bei meinem Programm.
Ich möchte anhand von drei Variablen und einer Formel eine PseudoZufallszahl ermitteln (linearer Kongruenzgenerator).
Die 3 Variablen entnehme ich aus TextFeldern.
Nun ist es so, dass ich bei wiederholtem Drücken des Button die Formel dahingehend ändern soll, dass sie statt der Variablen im TextFeld, die zuvor ausgerechnete Pseudozufallszahl in der Formel benutzt.
Java:
public void actionPerformed(ActionEvent ae) {
// TODO Auto-generated method stub
String ac = ae.getActionCommand();
if(ac.equals("berechne")) {
int a = 0;
int b = 18;
int m = 0;
int s = 0;
try {
s = Integer.parseInt(x.getText());
m = Integer.parseInt(y.getText());
a = Integer.parseInt(z.getText());
}
catch (Exception e){
e.printStackTrace();
System.exit(1);
}
pseudo = (a*s+b) % m;
x.setText(Integer.toString(pseudo));
tfzahl.setText(Integer.toString(pseudo));
}
}
So wäre zwar meine Frage erldigt, aber das TextFeld x würde sich ja auch immer ändern ohne das der Benutzer des Programms es ändert. Wie kann man nun die Gleichung ändern, ohne das TextFeld zu ändern ?
Mein Problem liegt darin, dass ich drei Variablen habe, welche in den Textfeldern x,y,z stehen.
Beim 1.ActionEvent rechne ich anhand dieser Variablen dann pseudo aus. Welche dann ausgegeben wird. Beim 2 ActionEvent soll dann die variable s durch pseudo ersetzt werden. Aber die holt ja trotzdem die Zahl aus dem Textfeld x.
Wenn ich pseudo gleich einbauen würde, dann würde ja s ersetzt werden und somit die variable rausfallen.
Oh. Entschuldigung.
Ich habe vielleicht ein mich vielleicht ein wenig ungeschickt ausgedrückt.
Die drei Variablen werden vom Benutzer im Programm eingegeben.
Java:
pseudo = (a*s+b) % m;
Wobei s,b und a eingegeben werden. Dann wird auf einen Knopf gedrückt, welcher pseudo ausrechnet.
Beim 2. mal drücken soll er dann statt s = pseudo nehmen.
Wenn ich jetzt deinen Vorschlag nehmen würde, dann hätte ich ja statt "s", welches der Benutzer eingibt 0.
Aber der erste Wert soll ja mit "s" ausgerechnet werden. z.B. s = 5 oder so.