# JAVA APPLET While Schleife Frage!



## Sypher (8. Jul 2006)

Hallo alle zusammen!

Ich hab ein Applet als GFS machen müssen über Integralrechnung bei einer Normalparabel mit Rechteckverfahren. Nun das hab ich auch gemacht. Funktioniert auch, aber etwas kleines stört mich da allerdings noch. Wenn ich das Applet starte und auf den Berechnung-Button klicke, dann berechnet das Programm die Fläche (mit Eingabe der Randabschnitte a und b und der Rechteckanzahl n). Das was mich nervt: Wenn ich nach dem Klick auf den Button nochmal draufklick, dann rechnet es den gleichen Betrag nochmal dazu! Was muss ich tun, damit die Schleife nach dem Klick wieder von neu startet? Danke im Voraus!

Hier das Prog.: 


```
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class GFS extends Applet implements ActionListener 
{
	
	String	sa, sb, sn, sGA;
	double	da, db, dh, dGA, dfa;
	int 		i, n;
	
	TextField	Tfa	=	new TextField(2);
	TextField	Tfb	=	new TextField(2);
	TextField	Tfn	=	new TextField(2);
	TextField	TfF	=	new TextField(7);
	
	Label			Lba	=	n ew Label("a Grenze:");
	Label			Lbb	=	new Label("b Grenze:");
	Label			Lbn	=	new Label("n für Anzahl der Rechtecke:");
	Label			LbF	=	new Label("Fläche:");
	
	
	Button	Bt1	=	new Button("Berechne");
	
	
	public void init() {
	
	
	add(Lba);
	add(Tfa);
	add(Lbb);
	add(Tfb);
	add(Lbn);
	add(Tfn);
	add(Bt1);
	add(LbF);
	add(TfF);

	
	
	Bt1.addActionListener(this);
	
	}
	
	
	
	
	public void actionPerformed(ActionEvent e) {
	


	
	//Einlesen 
	
	sa	=	Tfa.getText();
	sb	=	Tfb.getText();
	sn	=	Tfn.getText();
	
	
	
	
	//Umwandeln
	
	da	=	Double.parseDouble(sa);
	db	=	Double.parseDouble(sb);
	n	=	Integer.parseInt(sn);
		
	//Berechnung
	
	i=0;
	
	while(i<=n)	{
	
		
	dh = ((db - da)/n);
	
	dfa = (da + (i*dh))*(da + (i*dh));
	
	dGA = dfa * dh + dGA; 
	
	i=i+1;
	
	}
	
	
	//Umwandeln 
	
	
	sGA	=	String.valueOf(dGA);
	
	//Ausgabe
	
	TfF.setText(sGA);
	
	
	
	}
	
 }
```


----------



## Einwegdose (8. Jul 2006)

For der while: 


```
i=0;
   dGA=0;
```

Dann klappts 

[edit] :autsch:  :autsch: :autsch:  Natürlich VOR der while *g*


----------



## Sypher (8. Jul 2006)

Oh, gleich so leicht ? 

Vielen Dank
Warum bin ich da nicht selber drauf gekommen ....?


----------



## Einwegdose (8. Jul 2006)

Weiss ich auch nicht 
Aber wenn du nochmals was berechnest, hat _dGA_ ja bereits einen Wert, deswegen kommt dann was anderes raus


----------

