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
Post a Comment