# BlueJ BMI  berechnen



## Andrea2412 (14. Nov 2010)

Hallo,
Ich mach ein Java Projekt über BMI und brauch dringend hilfe bim programmieren. Ich weis nicht wie ich die se Tabelle in mein Projekt einfügen kann:
Alter
BMI
19-24 Jahre19-24
25-34 Jahre20-25
35-44 Jahre21-26
45-54 Jahre22-27
55-64 Jahre23-28
>64 Jahre24-29

Ich bin bis jetzt soweit:


```
public class BMI
    {
        double gewicht;
        double größe;
        double bmi;
        int alter;

        public BMI (int j)
        {
            bmi = bmi;
            alter = j;
        }
        public void bmi(double m, double kg)
            {
                bmi= kg /(m * m);
                System.out.println("Dein BMI beträgt: " + bmi);
            }
            public void bmialter (int j)
                {
                    if (24 > int j < 19);
                }
                    {
                        if (19 > double bmi < 24);
                    }
                        {
                            System.out.println ("Dein BMI ist nich gut");
                        }   
                        
    }
```

Wäre nett wenn ihr euch schnellst möglich melden könntet Danke


----------



## XHelp (14. Nov 2010)

Was meinst du mit Tabelle einfügen?
Was soll die Zeile 
	
	
	
	





```
bmi=bmi
```
 im Konstruktor deiner Meinung nach bewirken?
Da sind generell ein Haufen syntaktische Fehler drin (; nach if Abfragen, falsche Klammersetyung). Vllt solltest du die erstmal beheben, bevor du irgendwas anderes machst.


----------



## Marcinek (14. Nov 2010)

Also syntaktisch ist das Programm ja fast richtig bis auf die Ausdücke innerhalb der ifs.

Aber fachlich macht das program noch nix ^^


----------



## XHelp (14. Nov 2010)

Marcinek hat gesagt.:


> Also syntaktisch ist das Programm ja fast richtig bis auf die Ausdücke innerhalb der ifs.



[JAVA=18]
           public void bmialter (int j)
                {
                    if (24 > int j < 19); //semikolon ist zwar auch syntaktisch zugelassen, aber....
                } //hier ist die Methode zu ende
                    { //das hier wird zwar als Initialisierer erkannt, war aber bestimmt nicht so gewollt
                        if (19 > double bmi < 24);
                    }
[/code]
Ok, ist vllt doch mehr semantisch falsch, aber dennoch.


----------



## Andrea2412 (14. Nov 2010)

Danke für eure Hilfe...bin echt am verzweifel, könnt ihr euch das bitte nochmal anschauen, hab jetzt was verändert aber mit den Klammern weis ich trotzdem nicht weiter.




```
public class BMI
    {
        double gewicht;
        double größe;
        double bmi;
        int alter;

        public BMI (int j)
        {
            double gewicht = kg;
            double größe = m;
            double bmi = bmi;
            int alter = j;
            
           
        }
        public void bmi(double größe, double gewicht)
            {
                bmi= kg /(m * m);
                System.out.println("Dein BMI beträgt: " + bmi);
            }
            public void bmialter (int j)
                {
                    if 
                    int alter (24 > int j < 19);
                }
                    {
                        if (19 > double bmi < 24);
                    }
                        {
                            System.out.println ("Dein BMI ist nich gut");
                        }   
                        
    }
```


----------



## XHelp (14. Nov 2010)

Du hast doch nur irgendwohin "int alter" hingeschrieben? oO
Schau dir doch an, wie eine if-Anweisung auszusehen hat, oder wie man eine Methode begrenzt....


----------



## Andrea2412 (14. Nov 2010)

hallo ich hab nochmal eine frage, wenn ich möchte das mein program meinen BMI Wert mit den in der Tabelle vorgegebenen Werten vergleicht. Wie schreibe ich das in Java?
[JAVA=42]public class Bmi3Projekt
{

    int gewicht;
    double groesse;
    double BMI;
    double differenz;
    int alter;



    void Bmi(double neugroesse, int neugewicht)
    {
    gewicht=neugewicht;
    groesse=neugroesse;

      BMI =(gewicht/(groesse*groesse))*10000;


    }


    public void ausgeben()
        {
      System.out.println( "Sie wiegen " +gewicht+ "kg");
     System.out.println( " Ihre Größe beträgt. " +groesse+ " cm");
      System.out.println( " ihr Bmi beträgt : " + BMI+ " Wert");



         }  
            if int alter (19> int alter <24)
            double differenz


                }
                else
                {
}
                       [/code]


----------



## XHelp (14. Nov 2010)

Java ist auch eine Insel – 2.5 Bedingte Anweisungen oder Fallunterscheidungen
Aber dein Programm ist weiterhin nicht lauffähig, da macht es kein Sinn mehr reinzuschreiben...


----------



## dehlen (14. Nov 2010)

Hier mal ein Lösungsansatz von mirt die Alterbegrenzungen müsstest du dann noch selber einfügen... vielleicht kannst du ja was damit anfangen ;-)


```
public class Waage
{
   private double gewicht;
   private double groesse;
   private double differenz;
   private double idealgewicht;
   private double test;
   private String fett;
   private double ab;
   private double ba;
   private double z;
   
  
	
   public void wiegen(double gew)
   {
       
      gewicht = gew;
 
      
    } 
     
         public void messen(double gr)
         {
             groesse = gr;

         
   }
   
    
   public void ausgeben()
        {
           test = gewicht - idealgewicht;
           ba = (groesse-100)*0.9;
      ab = gewicht - ba;
      
    z = ab * -1;
      
       if ( ab > -1)
        fett = "Idealgewicht";
        
        if (ab>1)
        fett = "Übergewicht";
        
        if (ab>10)
        fett = "Starkes Übergewicht";
        
          if (ab < 1)
        fett = "Untergewicht";
      
        
        if (ab <-10)
        fett = "Starkes Untergewicht";
   
           System.out.print("\f");
           System.out.println("Gewicht     :" + gewicht);
           System.out.println("Körpergröße :" + groesse);
           if (ab > 0)
           System.out.println("Sie haben " + fett + " und müssen " + ab + " kg abnehmen!"); 
           else
           System.out.println("Sie haben " + fett + " und müssen " + z + " kg zunehmen!"); 
           
        }   
}
```


----------



## Marcinek (14. Nov 2010)

Die Posterin hat doch offensichtlich extreme Defizite, was die Syntax und Logik angeht.

Ich kann ihr dir nur raten ein Buch zu nehmen und kurz erstmal die if () Geschichte zu lernen.

Dann hinsetzen und Blatt *Papier* nehmen.

Aufmalen, was dein Programm machen soll.

Danach Stück für Stück in Java übertragen.

Und die Code Schnippsel sind super nett gemeint, aber verfehlen hier leider das Ziel.


----------

