Eclipse Alternativkonstrukte (Verzweigungen: if, switch,else..)

kamil.winter

Mitglied
Hi leute, ich brauche Hilfe zur der folgenden Selbstübung:

ich muss die Kleidergrössen aufgrund der Körpergrösse bestimmen, dabei mit den Andwendungen if, else, then, usw. arbeiten.

Ich habe jetzt in meiner Pause probiert aber ich glaub ich habe einnen Denkfehler, vielleicht kann mich jemand auf den richtigen Weg bringen :)
Java:
/**
 * @(#)AppletRahmen.java
 *
 * AppletRahmen Applet application
 *
 */

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

public class Kleidergroesse          
    extends Applet                  // -- .. ist ein Applet
    implements ActionListener {       // -- .. und reagiert auf Knopfdruck
    
	
	double a = (170);
	double b = (161);
	double c = (160)
			
    if( a > b > c ) 
    	g.drawString("S", 50, 50);
    	} else {
    	if( b > a ) {
    	g.drawString("M", 50, 50);
    	} else {
    		if ()
    	g.drawString("L", 50, 50);
    	}
    	}

    // "kleidergroessen" Variablen
    TextField eingabeFeld =  null;   
    Button druckKnopf = null;       
    String eingegebenerText = "?" ; }



Achso die Bedingungen für die Kleidergrösse:
•S für Körpergrössen 161 – 170 cm
•M für Körpergrössen 171 – 180 cm
•L für Körpergrössen 181 – 190 cm
•für Körpergrössen kleiner gleich 160 cm und grösser als 191 cm gibt es keine Kleidergrössen.
 

Michael...

Top Contributor
Der gepostet Code ist kein gültiger Java Code.
Abgesehen von davon, dass das if Konstrukt grammatische Fehler enthält (und wenig Sinn macht), befindet er sich an der falschen Stelle. Sowas gehört in einen Konstruktor oder Methode der Klasse - ausserhalb sind ist nur die Deklaration von Variablen zulässig.
 

kamil.winter

Mitglied
Java:
import java.awt.*;
import java.awt.event.*;
import java.applet.*;



public class Kleidergroesse  // -- Unser neues Elaborat
	extends Applet                  // -- .. ist ein Applet
    implements ActionListener       // -- .. und reagiert auf Knopfdruck
      
    
{public static void main(String[] args) {


}
    // "globale" Variablen
    TextField eingabeFeld = null;   // -- das im GUI erscheinende Eingabefeld
    Button druckKnopf = null;       // -- der Druckknopf, auf den wir reagieren
    String Koerpergroesse = "?";  // -- der Text aus dem Eingabefeld

    /*
     * init() wird EINMAL beim Start des Applets aufgerufen. Hier wird das
     * Graphical User Interface (GUI) angelegt. Zuerst ein Eingabefeld, dann
     * einen Druckknopf. Fuer den Druckknopf bezeichnen wir uns selbst ("this")
     * als zustaendig, sollte er betaetigt werden.
     */
    public void init() {
        // Groesse der Zeichenflaeche festlegen
        setSize(320, 205);
        setMinimumSize(getSize());
        // Beschriftung erzeugen und einfuegen
        Label aufforderung = new Label("Koerpergroesse: ");
        this.add(aufforderung);
        // Eingabefeld erzeugen und einfuegen
        eingabeFeld = new TextField(Koerpergroesse, 20);
        this.add(eingabeFeld);
        // Druckknopf erzeugen und einfuegen
        druckKnopf = new Button("Los");
        this.add(druckKnopf);
        // Der Druckknopf soll actionPerformed() aufrufen, wenn er gedrueckt wird.
        druckKnopf.addActionListener(this);
    }

    /*
     * Diese Methode wird aufgerufen, sobald der Druckknopf betaetigt wird. Das
     * gemeldete "ereignis" enthaelt als Quelle (source) den Eingabeknopf, der
     * den Aufruf ausgeloest hat. Da wir nur einen Knopf haben intressiert es
     * uns nicht im Detail. Es muss jedoch trotzdem entgegengenommen werden.
     */
    public void actionPerformed(ActionEvent ereignis) {
        // -- lies die Information aus dem Eingabefeld aus.
        Koerpergroesse = eingabeFeld.getText();
        // -- jetzt kann hier etwas gerechnet werden ...
        // -- und wenn wir damit fertig geworden sind,
        // -- veranlassen wir das Neuzeichnen des Applets.
        this.repaint();
    }

    /*
     * Neuzeichnen des Applet-Inhalts. Diese Methode wird jedes Mal aufgerufen,
     * wenn das Fenster veraendert wird (z.B. Groesse) oder wenn repaint()
     * aufgerufen wird.
     */
    public void paint(Graphics g) {
    	int koerpergroesseInCm = Integer.parseInt(Koerpergroesse);
    	String Koerpergroesse = "1";
    	
    	if (koerpergroesseInCm >= 161 && koerpergroesseInCm <= 170 ) {
    		Koerpergroesse = "S";
    	
    	} else if (koerpergroesseInCm >= 171 && koerpergroesseInCm <= 180) {
    	Koerpergroesse = "M";
    		
    	} else if (koerpergroesseInCm >= 181 && koerpergroesseInCm <= 190) {
    		Koerpergroesse = "L";
    		
    	} else if (koerpergroesseInCm > 190 || koerpergroesseInCm < 161) {
    		Koerpergroesse = "nicht verfuegbar";
    	}
    		
    	
    	g.drawString("Diese Koerpergroesse hat Kleidergroesse "+Koerpergroesse,10,80);
       
    }

}
 

Michael...

Top Contributor
Besteht dazu noch eine konkrete Frage/Problem?

Ansonsten: Heutzutage nutzt man eher Swing statt AWT Komponenten. Unschön ist dass die Manipulation der paint Methode des Applets. Besser wäre es eine weitere Komponente in das Applet einzufügen und deren paint (bzw. bei Swing paintComponent) zu überschreiben.
In Deinem Fall könnte man aber auch einfach ein weiteres (J)Label einfügen und darin das Ergebnis anzeigen.
Unschön (ab nicht unbedingt dramatisch) solange der String Körpergröße das "?" enthält wird bei jedem zeichnen eine Exception geworfen.
 

Ähnliche Java Themen

Neue Themen


Oben