/Users/petercappello/NetBeansProjects/56-2014/56-2014-lab1/src/HeartRates.java |
1
2 import java.util.Calendar;
3 import javax.swing.JOptionPane;
4
5
6
7 @author
8
9 public class HeartRates
10 {
11 private String firstName;
12 private String lastName;
13 private int dobMonth;
14 private int dobDay;
15 private int dobYear;
16
17 public HeartRates()
18 {
19 firstName = JOptionPane.showInputDialog( "Please enter your first name." );
20 lastName = JOptionPane.showInputDialog( "Please enter your last name." );
21 dobMonth = getInt( "Please enter your month of birth as a number." );
22 dobDay = getInt( "Please enter your day of birth." );
23 dobYear = getInt( "Please enter your year of birth." );
24 }
25
26 public String getFirstName() { return firstName; }
27 public String getLastName() { return lastName; }
28 public int getDobMonth() { return dobMonth; }
29 public int getDobDay() { return dobDay; }
30 public int getDobYear() { return dobYear; }
31
32 public void setFirstName( String firstName ) { this.firstName = firstName; }
33 public void setLastName( String lastName ) { this.lastName = lastName; }
34
35 public void setDobMonth( int dobMonth ) { this.dobMonth = dobMonth; }
36 public void setDobDay( int dobDay ) { this.dobDay = dobDay; }
37 public void setDobYear( int dobYear ) { this.dobYear = dobYear; }
38
39 public int getAge()
40 {
41 Calendar rightNow = Calendar.getInstance();
42 int age = rightNow.get( Calendar.YEAR ) - dobYear;
43
44 if ( dobMonth < rightNow.get( Calendar.MONTH ) + 1 )
45 {
46 return age;
47 }
48 if ( dobMonth == rightNow.get( Calendar.MONTH ) + 1 && dobDay <= rightNow.get( Calendar.DAY_OF_MONTH ) )
49 {
50 return age;
51 }
52 return --age;
53 }
54
55 public int getMaxHeartRate() { return 220 - getAge(); }
56
57
58 public int minTargetHeartRate() { return 5 * getMaxHeartRate() / 10; }
59
60 public int maxTargetHeartRate() { return 85 * getMaxHeartRate() / 100; }
61
62
63 Should use StringBuilder.
64
65 @Override
66 public String toString()
67 {
68 return getFirstName()
69 + " " + lastName
70 + "\nDate of birth: "
71 + dobMonth + "/" + dobDay + "/" + dobYear
72 + "\nAge: " + getAge()
73 + " Max heart rate: " + getMaxHeartRate()
74 + " Target heart Rate: [" + minTargetHeartRate()
75 + ", " + maxTargetHeartRate() + "]";
76 }
77
78 public static void main( String[] args )
79 {
80 HeartRates heartRates = new HeartRates();
81 System.out.println( heartRates );
82 }
83
84 private int getInt( String prompt )
85 {
86 String intString = JOptionPane.showInputDialog( prompt );
87 return Integer.parseInt( intString );
88 }
89 }
90