// Diesmal werden mehr vordefinierte Komponenten verwendet.
// Daher wird vorsichtshalber alles eingebunden. Der Stern *
// steht dabei als Joker für alle jeweils existierenden
// Komponenten.
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;



// Dieses Applet erhöt drei counter auf merkwürdige Weise.
// Was da wohl dahinter steckt?
public class SumStrange extends Applet
{
    // Da jetzt nicht nur die Methode  init  verwendet wird,
    // müssen die tatsächlich verwendeten Komponenten schon
    // an dieser Stelle deklariert werden. Nur dann können
    // wir sie auch in anderen Methoden verwenden.

    // Soll der Benutzer doch einfach mal die obere Grenze 
    // der Berechnung (von was auch immer) angeben.
    TextField nInput;
 
    // Hier schreiben wir das Ergebnis rein.
    TextArea output;

    // Graphische Oberfläche initialisieren.
    public void init()
    {
	setLayout(new BorderLayout());
	Panel top = new Panel();
	add(top,BorderLayout.NORTH);

	Label label = new Label("n:");
	top.add(label);
	
	nInput = new TextField("4",10);
	nInput.addActionListener( new ActionListener(){
		public void actionPerformed( ActionEvent e ){
		    // call method for calculation
		    count();
		}
	    });	
	top.add(nInput);

	output = new TextArea(10, 20);
	output.setEditable(false);
	add(output);
	calculateSum();
    }


    // Diese Methode startet die Berechnung, sobald der Start-Button 
    // gedrückt wird. 
    // Sie bleibt ausnahmsweise mal UNKOMMENTIERT...
    private void count() {
	
	int n = Integer.parseInt( nInput.getText() );;

	// Ab hier beginnt das Code-Fragment vom Aufgabenblatt
	int k=0, i=0, j=0, a=0;
	int counter1=0, counter2=0, counter3=0;
	
	while(k<n) {
	    counter1 = counter1 + 1;
	    k = k + 1;
	    a = k;
	    
	    while (a>0){
		counter2 = counter2 + 1;
		a = a - 1;
		i=0;
		j=3*k;
		
		while(i<j){
		    counter3 = counter3 + 1;
		    i = i+2;
		    j = j-1;   
		}
	    }   
	} 
	// Ende des Code-Fragments

	output.append("counter1 = "+counter1+"\n");
	output.append("counter2 = "+counter2+"\n");
	output.append("counter3 = "+counter3+"\n\n");

    }
}

