java - User input failing if statement and I don't know why -


my program calculating , printing users bmr value, based on age, height, weight, , gender.

however, program not working when comes checking gender based on input, , jumping straight else statement. code far, how fix it?

import java.util.scanner; public class maintainingweight {     public static void main(string[] args)      {         //instance variables         int age, weight, inches; //weight in pounds, height inches         double bmr;         string gender;          //program introduction welcoming user         scanner keyboard = new scanner(system.in);         system.out.println("hello fellow user, program determine \nyour bmr value , tell amount of chocalate bars need");         system.out.println("in order maintain body weight.");          //ask user input age, weight , height         system.out.println("please enter age.");         age = keyboard.nextint();          system.out.println("next enter weight in pounds");         weight = keyboard.nextint();          system.out.println("now enter height inches\n (reminder: find height in inches mutiply height feet 12.000. (feet * 12.000))");         inches = keyboard.nextint();          //tell user gender print bmr value         system.out.println("please enter gender. enter m men or w women");         gender = keyboard.nextline();          if (gender.equalsignorecase("m"))         {             system.out.println("your bmr value is: ");         }         else if (gender.equalsignorecase("w"))         {             system.out.println("your bmr value is: ");         }         else         {             system.out.println();         }      }      //print user amount of chocolate bars need consume maintain weight  } 

alright, i've never used java, forgive me if make coding errors...

if (gender.equalsignorecase("m")) {     system.out.print("your bmr value is: "); //prints without newline assume     system.out.print((66 + (13.8 * (weight * 0.454)) + (5 * (height * 2.54)) - (6.8 * age)); } else if (gender.equalsignorecase("w")) {     system.out.print("your bmr value is: "); //prints without newline assume     system.out.print((655 + (9.6 * (weight * 0.454)) + (1.8 * (height * 2.54)) - (4.7 * age)); } else {     system.out.println(); } 

alright, problem keyboard.nextline() adding \n end. 2 ways fix:

if (gender.equalsignorecase("m\n")) { } else if (gender.equalsignorecase("w\n")) { } 

or

if (gender.contains("m") || gender.contains("m")) { } else if (gender.contains("w") || gender.contains("w")) { } 

Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -