Als Teil meiner CS-Studien fangen wir an, Java zu lernen, und ich wollte ein kleines Nebenprojekt machen, um besser in Java zu werden, als ich es bin.BMI-Rechner keine Druckergebnisse
Bis jetzt funktioniert es nicht wie es sollte.
Ich habe diesen Code geschrieben:
import java.util.Scanner;
public class BodyWeightCalculator {
public static void main(String[] args) {
double weight;
double height;
Scanner input = new Scanner(System.in);
System.out.print("What's your height in meters?");
height = input.nextDouble();
System.out.print("What's your weight in kilograms?");
weight = input.nextDouble();
double bmi = ((weight/height)/height);
System.out.printf("Your BMI is " + bmi);
if (bmi < 18.5)
System.out.println("Your BMI is " + bmi + ", you are underweight.");
else if (bmi <= 18.5 & bmi > 24.9)
System.out.println("Your BMI is " + bmi + ", you are at a normal weight.");
else if (bmi < 25 & bmi > 29.9)
System.out.println("Your BMI is " + bmi + ", you are overweight");
else if (bmi > 30) {
System.out.println("Your BMI is " + bmi + ", you are extremely overweight");
}
}
}
Dieses Programm fordert den Benutzer zur Eingabe seiner/ihrer Größe und Gewicht, und dann gibt es die BMI des Benutzers und ob er/sie ist mit normalem Gewicht, oder Untergewicht usw.
Das Programm gibt nur den BMI aus, wobei alle if-else
-Anweisungen ignoriert werden.
Irgendetwas stimmt nicht damit?
Überprüfen Sie Ihre 'if'-Bedingungen. 'bmi <= 18.5 & bmi> 24.9 'wird niemals wahr sein. – resueman
Und verwenden Sie '&&' (logisch und) anstelle von '&' (bitweise und). – Kayaman
Es liegt an der Eingabe, mit der Sie es testen. Möglicherweise finden Sie ein Szenario, wo Ihre Bedingungen das nicht abdecken (es gibt für meine bmi, heh). Überprüfen Sie auch die anderen Kommentare. – Alfabravo