/** * Assignment 2, COMP268 Class: Citizen.java * * @description A citizen with an id and educational qualifiation. * @author: mo khan Student ID: 3431709 * @date Jul 13, 2019 * @version 1.0 */ package Q5; import java.util.*; public class Citizen { private int citizenId; private int educationalQualification; public static final int DOCTORATE = 4; public static final int HIGH_SCHOOL = 1; public static final int POSTGRADUATE = 3; public static final int UNDERGRADUATE = 2; private static int id = 0; /** * Creates an instance of a citizen with a specific id. * * @param citizenId the identifier for the citizen */ public Citizen(int citizenId) { this(citizenId, Citizen.generateEducationalQualification()); } /** * Creates an instance of a citizen with a specific id and qualification. * * @param citizenId the identifier for the citizen * @param qualification the educational qualification of the citizen */ public Citizen(int citizenId, int qualification) { this.citizenId = citizenId; this.educationalQualification = qualification; } /** * Returns the educational qualification * * @return the educational qualfication represented as an integer value. */ public int getEducationalQualification() { return this.educationalQualification; } /** * Generates a random educational qualification. * * @return educational qualification. */ public static int generateEducationalQualification() { return new Random().nextInt(4) + 1; } /** * Generates a unique id for a citizen. * * @return a new id for a citizen. */ public static int generateId() { id++; return id; } /** * Converts an integer to a string. * * @param i the integer to convert to a string * @return the converted integer as a string. */ public static String convert(int i) { return String.valueOf(i); } /** Resets the internal id counter to zero. */ public static void resetId() { id = 0; } }