The program is supposed to calculate your TDEE after taking in your gender, BMR, and activity level but it can't calculate it if the activity level won't go through and I feel like it's something to do with my if-statements but I really don't know how.
The value types of gender and level used to be char but my teacher told me to change it to String but it still didn't work.
import java.util.Scanner;
public class TDEE_2
{
public static void main(String [ ] args)
{
Scanner in = new Scanner(System.in);
double activityFactor = 0.0;
System.out.println("Please enter your name: ");
String firstName = in.next();
String lastName = in.nextLine();
String name = firstName + lastName;
System.out.println("Please enter your BMR: ");
double bmr = in.nextDouble();
System.out.println("Please enter your gender (M/F): ");
String gender = in.next();
System.out.println("Select Your Activity Level");
System.out.println("[A] Resting (Sleeping, Reclining)");
System.out.println("[B] Sedentary (Minimal Movement)");
System.out.println("[C] Light (Sitting, Stading)");
System.out.println("[D] Moderate (Light Manual Labor, Dacing, Riding Bike)");
System.out.println("[E] Very Active (Team Sports, Hard Manual Labor)\n");
System.out.println("Enter the letter corresponding to your activity level: ");
String level = in.next();
if(gender == "M" && level == "A")
activityFactor = 1.0;
else if(gender == "M" && level == "B")
activityFactor = 1.3;
else if(gender == "M" && level == "C")
activityFactor = 1.6;
else if(gender == "M" && level == "D")
activityFactor = 1.7;
else if(gender == "M" && level == "E")
activityFactor = 2.1;
else if(gender == "M" && level == "F")
activityFactor = 2.4;
else if(gender == "F" && level == "A")
activityFactor = 1.0;
else if(gender == "F" && level == "B")
activityFactor = 1.3;
else if(gender == "F" && level == "C")
activityFactor = 1.5;
else if(gender == "F" && level == "D")
activityFactor = 1.6;
else if(gender == "F" && level == "E")
activityFactor = 1.9;
else if(gender == "F" && level == "F")
activityFactor = 2.2;
else
System.out.println("Sorry, you entered an invalid letter.");
double tdee = bmr * activityFactor;
System.out.println("Your results:");
System.out.println("Name: " + name + "\t\t Gender: " + gender);
System.out.println("BMR: " + bmr + " calories \t\t Activity Factor: " + activityFactor);
System.out.print("TDEE: " + tdee + " calories");
}
}
When I run it, Activity level and TDEE appear empty but they're supposed to have values.
I am new to java and don't know what to do sorry