Hi, I need help , the assignment I have to do is for a healthprofile class but I am having issues . It doesn ' t show the month , day , or year in mm / dd / yyyy format it only shows 0 / 0 / 0 . It doesn ' t calculate age it still says 2013 and it doesn ' t show the maximum heart rate or targeted heart rate . Can someone please help ?
Here is the code :
mport java . util .*;
public class HealthProfile {
String firstName ;
String lastName ;
char gender ;
int BirthMonth ;
int BirthDay ;
int BirthYear ;
int height ;
int weight ;
public HealthProfile ( String fName , String lName , char Genderr , int birthMonth , int birthDay , int birthYear , int heightt , int weightt ){
firstName = fName ;
lastName = lName ;
gender = Genderr ;
BirthMonth = birthMonth ;
BirthDay = birthDay ;
BirthYear = birthYear ;
height = heightt ;
weight = weightt ;
}
HealthProfile () {
}
public void setFirstName ( String firstName ) {
this . firstName = firstName ;
}
public String getFirstName () {
return firstName ;
}
public void setLastName ( String lastName ) {
this . lastName = lastName ;
}
public String getLastName () {
return lastName ;
}
public void setGender ( char gender ) {
this . gender = gender ;
}
public char getGender () {
return gender ;
}
public void setBirthMonth ( int BirthMonth ) {
this . BirthMonth = BirthMonth ;
}
public int getBirthMonth () {
return BirthMonth ;
}
public void setBirthDay ( int BirthDay ) {
this . BirthDay = BirthDay ;
}
public int getBirthDay () {
return BirthDay ;
}
public void setBirthYear ( int BirthYear ) {
this . BirthYear = BirthYear ;
}
public int getBirthYear () {
return BirthYear ;
}
public void setHeight ( int height ) {
this . height = height ;
}
public double getHeight () {
return height ;
}
public void setWeight ( int weight ) {
this . weight = weight ;
}
public double getWeight () {
return weight ;
}
public int Age (){
Calendar now = Calendar . getInstance ();
int nowYear = now . get ( Calendar . YEAR );
int nowMonth = now . get ( Calendar . MONTH );
int nowDay = now . get ( Calendar . DATE );
int day = now . get ( Calendar . DATE );
int month = now . get ( Calendar . MONTH );
int year = now . get ( Calendar . YEAR );
if ( nowMonth > BirthMonth );
return ( nowYear - BirthYear );
}
public double getBMI (){
return ( weight * 703 )/( height * height );
}
public int MaxHeartRate (){
return 220 - Age ();
}
public double TargetHeartRate (){
return MaxHeartRate () * 0 . 85 + MaxHeartRate () * 0 . 5 ;
}
}
Here is the test class :
import java . util . Scanner ;
public class HealthProfileTest {
public static void main ( String [] args ) {
Scanner input = new Scanner ( System . in );
String firstName ;
String lastName ;
String DoB ;
String theMonth ;
String theDay ;
String theYear ;
char gender ;
int Month ;
int Day ;
int Year ;
double height = 0 . 0 ;
double weight ;
HealthProfile personalInfo = new HealthProfile ();
System . out . println (" Enter your first name : ");
personalInfo . setFirstName ( input . nextLine ());
System . out . println (" Enter your last name : ");
personalInfo . setLastName ( input . nextLine ());
System . out . println (" Male or female : ");
personalInfo . setGender ( input . nextLine (). charAt ( 0 ));
System . out . println (" Enter your date of birth in mm / dd / yyyy format : ");
DoB = input . nextLine ();
theMonth = DoB . substring ( 0 , 2 );
theDay = DoB . substring ( 3 , 5 );
theYear = DoB . substring ( 6 , 10 );
Month = Integer . parseInt ( theMonth );
Day = Integer . parseInt ( theDay );
Year = Integer . parseInt ( theYear );
System . out . println (" Enter your height in inches : ");
height = input . nextInt ();
personalInfo . setHeight (( int ) height );
System . out . println (" Enter your weight in pounds : ");
weight = input . nextInt ();
personalInfo . setWeight (( int ) weight );
System . out . println (" Name : " + personalInfo . getFirstName () +" "+ personalInfo . getLastName ());
System . out . println (" Gender : " + personalInfo . getGender ());
System . out . println (" DoB : " + personalInfo . getBirthMonth () + "/" + personalInfo . getBirthDay () + "/" + personalInfo . getBirthYear ());
System . out . println (" Height : " + personalInfo . getHeight ());
System . out . println (" Weight : " + personalInfo . getWeight ());
System . out . println (" Age : " + personalInfo . Age ());
System . out . println (" BMI : " + personalInfo . getBMI ());
System . out . printf (" Max heart rate : ", personalInfo . MaxHeartRate ());
System . out . printf (" Target heart rate : ", personalInfo . TargetHeartRate ());
System . out . println (" ");
System . out . println ( " BMI VALUES " );
System . out . println (" Underweight : Under 18 . 5 ");
System . out . println (" Normal : 18 . 5 - 24 . 9 ");
System . out . println (" Overweight : 25 - 29 . 9 ");
System . out . println (" Obese : 30 or over ");
}
}
So can someone please help ?