Benötige Hilfe wegen Problem

Maxi.1

Neues Mitglied
Hallo liebe Community,

Ich habe mal versucht einen BMI-Tester zu programmieren. Jetzt zu meinem Problem:

Hier zunächst der Code:

Java:
package bmi_Test;
import javax.swing.*;
public class BMI {

       boolean BMI1 () {	
    	   String eingabeGewicht = JOptionPane.showInputDialog("Geben sie bitte ihr Gewicht ein (in kg).");
    	   int eingegebenesGewicht = Integer.parseInt (eingabeGewicht);
    	   System.out.println("Sie wiegen "  + eingegebenesGewicht +  "kg.");
    	   String eingabeGroesse = JOptionPane.showInputDialog("Geben sie bitte ihre Größe ein (in cm).");
    	   int eingegebeneGroesse = Integer.parseInt (eingabeGroesse);
    	   System.out.println("Und Sie sind "  + eingegebeneGroesse +  "cm groß.");

    	   
    	   double bmi = eingegebenesGewicht/((eingegebeneGroesse/100)*(eingegebeneGroesse/100));
    		if (bmi<20) {
    			System.out.println("Sie sind untergewichtig!");
    			return true;
    			
    		}else if (bmi>=20 && bmi<25){
    		System.out.println("Sie sind normalgewichtig!");
    		    return true;
    		    
    		}else if (bmi>=25)
    		System.out.println("Sie sind übergewichtig!");
    		    return true;
    			
    			   
    	   
    
       }
	
}

Wenn ich nun Gewicht + Größe eingebe, die eigentlich im normalen Bereich liegt, wird trotzdem "übergewichtig" angezeigt ;(

Danke schonmal :applaus:
 

BRoll

Bekanntes Mitglied
Gib doch mal den errechneten BMI Wert zum Debug aus.
Dann wirst sehen dass es an dem Variablentyp liegt aus dem er berechnet wird.
Die eingegebene Größe und Gewicht sind Integer, also Ganzzahlen.
Und du willst mit denen ein Double berechnen, also ne Kommazahl.
Vorher die Integer in Double umrechnen dann sollte es gehen,
ansonsten ist deine Formel oder die Abfragen falsch?
 

Andy17

Aktives Mitglied
Hallo Maxi 1.

Was der BRoll sagt hat Hand und Fuß. Dank dem Integer kommt bei der Berechnung Gewicht / Groesse eine 1 raus. Sodass das Gewicht immer durch 1 dividiert wird und das bei 75 Kg einen BMI von 75 ergibt,.. und dass das übergewichtig ist steht außer Frage.

Richtig wäre es so:

Java:
package BMI;

public class bmiRechner
{
    
    static double eingegebenesGewicht = 75;
    static double eingegebeneGroesse = 185;
    
    static void groessenBesorgen() {
        
        /*
         * Hier besorgst du dir deine Groessen.
         * Ich spare mir das an dieser Stelle, soll schließlich nur ein Beispiel sein.
         * */
        
        eingegebeneGroesse = eingegebeneGroesse / 100;
        System.out.println(eingegebeneGroesse);
        
    }
    
    static double bmiBerechnen(double groesse, double gewicht) {
        
        double bmi = eingegebenesGewicht / (eingegebeneGroesse * eingegebeneGroesse);
        
        return bmi;
        
    }
    
    public static void main(String[] args)
    {
        groessenBesorgen();
        System.out.println("Der ermittelte BMI liegt bei: " + bmiBerechnen(eingegebeneGroesse, eingegebenesGewicht));
    }

}

Ich hoffe, das Beispiel hat dir geholfen.
Einfach etwas mehr auf die Typen aufpassen. Gott sei Dank ist Java schließlich eine so streng typisierte Sprache.

--> Java cares about Type.

LG
 

Maxi.1

Neues Mitglied
Erstmal danke ihr zwei :toll:

Ich habe es jetzt hinbekommen, habe einfach nur aus dem "int" ein "double" gemacht, wie du es im Beispiel getan hattest und es hat funktioniert! :D

Kann man sich hier iwie bedanken?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Justin4687 Benötige Hilfe bei folgender Aufgabe Java Basics - Anfänger-Themen 2
A Benötige Hilfe bei Vererbung Java Basics - Anfänger-Themen 1
C Erste Schritte Benötige Hilfe als Einsteiger Java Basics - Anfänger-Themen 9
J vergleich von arrays (benötige Hilfe/Denkanstoß) Java Basics - Anfänger-Themen 16
R Input/Output Benötige Hilfe Java Basics - Anfänger-Themen 1
C Erste Schritte Benötige Hilfe mit einer Stoppuhr Java Basics - Anfänger-Themen 20
J Benötige Hilfe bei Manifest-Datei Java Basics - Anfänger-Themen 7
P Benötige Hilfe - finde Fehler nicht. Java Basics - Anfänger-Themen 3
R Kleines Programm, benötige Hilfe! Java Basics - Anfänger-Themen 6
3 Erste Schritte benötige hilfe bei diesem Script Java Basics - Anfänger-Themen 2
L Wichtig! Benötige Hilfe bei Java! Java Basics - Anfänger-Themen 6
G Benötige Hilfe bei Zugriff auf Map! Java Basics - Anfänger-Themen 4
G Benötige Hilfe bei Problem mit Observer! Java Basics - Anfänger-Themen 2
P Benötige Hilfe zu einfachem Programm Java Basics - Anfänger-Themen 4
N Benötige eine Alternative für einen GOTO Befehl Java Basics - Anfänger-Themen 2
Z Für was benötige ich die For-Schleife? Java Basics - Anfänger-Themen 4
B Benötige Erklärung für Lösungsansatz Java Basics - Anfänger-Themen 0
A Benötige GUI Objekt für Hintergrundbild Java Basics - Anfänger-Themen 3
B Welche Themengebiete benötige ich? Java Basics - Anfänger-Themen 7
U Benötige ich einen Parser? Java Basics - Anfänger-Themen 2
J Benötige kurze Definition zum Programm Java Basics - Anfänger-Themen 2
T Benötige ich einen thread bei zugriff getRunetime.exec ? Java Basics - Anfänger-Themen 4
G benötige nur einen teil eines strings Java Basics - Anfänger-Themen 7
K welche Jkomponente benötige ich dafür: Java Basics - Anfänger-Themen 6
J Benötige TagesDatum Java Basics - Anfänger-Themen 7
hennskand Brauche Hilfe Zwischenzustände von Objekt aus rekursiver Methode speichern Java Basics - Anfänger-Themen 6
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
E Hilfe bei rekursiver Funktion Java Basics - Anfänger-Themen 3
H pdf stempel - Hilfe erbeten Java Basics - Anfänger-Themen 6
KogoroMori21 Wann ist der richtige Zeitpunkt, um sich Hilfe zu suchen? (Bin Informatik-Student) Java Basics - Anfänger-Themen 10
A Hilfe beim Lesen von Pfaden und Systemvariablen Java Basics - Anfänger-Themen 3
F RegEx Hilfe Java Basics - Anfänger-Themen 5
S Hilfe bei Endlosschleife Java Basics - Anfänger-Themen 2
S Hilfe bei Praktischen Aufgaben von Arrays Java Basics - Anfänger-Themen 39
U Ich bräuchte Hilfe Java Basics - Anfänger-Themen 1
Say abstract class und Objekt erzeugen - Dringend Hilfe Java Basics - Anfänger-Themen 10
aero043 Hilfe bei BlueJ Hausübung Java Basics - Anfänger-Themen 27
S Hilfe zu einer Aufgabe Java Basics - Anfänger-Themen 5
P Hilfe gesucht Java Basics - Anfänger-Themen 11
D Hilfe bei Calculator Test Java Basics - Anfänger-Themen 15
R Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
R Java Bücher hilfe Java Basics - Anfänger-Themen 9
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
I Scheduling: "Quartz" verwenden, Hilfe bei Umstellung Java Basics - Anfänger-Themen 3
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
L Hilfe! Liste mit Items werden ausgegeben aber nicht in zufälliger Reihenfolge Java Basics - Anfänger-Themen 6
Ekooekoo Hilfe spiel Java Basics - Anfänger-Themen 5
SpiritsHuner Hilfe!! Java Basics - Anfänger-Themen 16
Lacotto Java Kurs Aufgaben Hilfe Java Basics - Anfänger-Themen 14
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
M HILFE JPanel - Graphics Java Basics - Anfänger-Themen 1
D Hilfe bei einer Aufgabe mit for-Schleife Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
Neuling47 Denkfehler? Hilfe Java Basics - Anfänger-Themen 11
S Hilfe bei Umänderung von Java Code Java Basics - Anfänger-Themen 16
Robert_Klaus Hamster java Simulation Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 5
X Erste Schritte Hilfe bei einem kleinen Spiel. Java Basics - Anfänger-Themen 19
D Bitte um Hilfe muss es schnellstmöglich erledigen Java Basics - Anfänger-Themen 15
L Hilfe bei RegEx Java Basics - Anfänger-Themen 4
I Bitte um Hilfe zu unterstehenden Code Java Basics - Anfänger-Themen 6
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
Neuling47 bräuchte dringend hilfe Java Basics - Anfänger-Themen 6
D Bräuchte Hilfe im Bezug zum printarray() Java Basics - Anfänger-Themen 4
M Bitte um Hilfe bei 2DArrays Java Basics - Anfänger-Themen 8
HeiTim Array hilfe Java Basics - Anfänger-Themen 14
M LCD-Ziffern-Hilfe Java Basics - Anfänger-Themen 6
özkan hilfe!! Java Basics - Anfänger-Themen 4
C Hilfe bei einem Anfängerprojekt Java Basics - Anfänger-Themen 25
D Abrechnung bitte um hilfe Java Basics - Anfänger-Themen 25
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
D Zahlentabelle Anfänger braucht Hilfe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
S Interaktive Abfrage, Hilfe mit Schleifen! Java Basics - Anfänger-Themen 6
N Hilfe bei der Installation Java Basics - Anfänger-Themen 2
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
H Bräuchte hilfe Java Basics - Anfänger-Themen 3
D Snake-Spiel ähnliche Aufgabe Hilfe Java Basics - Anfänger-Themen 3
H Brauche Hilfe Java Basics - Anfänger-Themen 2
D Dijkstra Algorithmus Hilfe!! Java Basics - Anfänger-Themen 9
H Hilfe Java Basics - Anfänger-Themen 6
H Brauche hilfe Java Basics - Anfänger-Themen 3
M Hilfe - Array Aufgabe Java Basics - Anfänger-Themen 8
R Schulaufgabe, Bruache Hilfe mit non-static Methoden Java Basics - Anfänger-Themen 2
kevkev Hilfe bei Schiffe versenken Java Basics - Anfänger-Themen 5
FelixxF Erste Schritte Hilfe bei Fußball Manager Java Basics - Anfänger-Themen 2
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
josfe1234 Hilfe access denied ("java.io.FilePermission" " " "read") Java Basics - Anfänger-Themen 12
Vivien Hilfe bei Type Conversion Java Basics - Anfänger-Themen 3
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
J Doppelt verkette Liste ich bitte um Hilfe Java Basics - Anfänger-Themen 4
N Laufzeitberechnung - dringende Hilfe! Java Basics - Anfänger-Themen 1
G Java Hilfe Java Basics - Anfänger-Themen 3
J Java List, Bitte um Hilfe Java Basics - Anfänger-Themen 15
J Java List, bitte um Hilfe Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben