import java.util.*;
class COMPASSMember{
//variables
String name, MemberID, gender, ICNo;
//default constructor
public COMPASSMember(){
}//inheritance whereby public can be used by any related class
//but if private/protected, can only be used by method in its own class
//Mutator
public void setData(String nama,String ID,String jantina,String MyKad) {
MemberID=ID;
name=nama;
gender=jantina;
ICNo=MyKad;
}
//Accessor
public String getName(){
return name;
}
public String getMemberID(){
return MemberID;
}
public String getGender(){
return gender;
}
public String getICNo(){
return ICNo;
}
//other method 1 - toString()
public String toString(){
return "Name: " + getName() + "\\nMember ID: " + getMemberID() + "\\nGender: " +getGender() + "\\nIC No: " + getICNo() +".";
}
/*toString() method is a method that return a string representation
of an object. it is convenient to get printable info in an instance
without this method, programmer must write a code to fetch the values of
the data members individually(quite tedious). with this method, we
can display info of an instance by calling just one method toString()
*/
//other method 2 - checkAge20()
public boolean checkAge20() {
int year = 0, age=0;
String yearCode = ICNo.substring(0,2); //get the year part in ICNo
year = Integer.parseInt(yearCode) + 1900;//cant be used for year>= 2000
GregorianCalendar calendar = new GregorianCalendar();
int currentYear = calendar.get(Calendar.YEAR);
age = currentYear - year;
if (age>=20)
return true;
else
return false;
}
}//end class COMPASSMember