master
 1/**
 2 * Assignment 2, COMP268 Class: Citizen.java
 3 *
 4 * @description A citizen with an id and educational qualifiation.
 5 * @author: mo khan Student ID: 3431709
 6 * @date Jul 13, 2019
 7 * @version 1.0
 8 */
 9package Q5;
10
11import java.util.*;
12
13public class Citizen {
14  private int citizenId;
15  private int educationalQualification;
16  public static final int DOCTORATE = 4;
17  public static final int HIGH_SCHOOL = 1;
18  public static final int POSTGRADUATE = 3;
19  public static final int UNDERGRADUATE = 2;
20  private static int id = 0;
21
22  /**
23   * Creates an instance of a citizen with a specific id.
24   *
25   * @param citizenId the identifier for the citizen
26   */
27  public Citizen(int citizenId) {
28    this(citizenId, Citizen.generateEducationalQualification());
29  }
30
31  /**
32   * Creates an instance of a citizen with a specific id and qualification.
33   *
34   * @param citizenId the identifier for the citizen
35   * @param qualification the educational qualification of the citizen
36   */
37  public Citizen(int citizenId, int qualification) {
38    this.citizenId = citizenId;
39    this.educationalQualification = qualification;
40  }
41
42  /**
43   * Returns the educational qualification
44   *
45   * @return the educational qualfication represented as an integer value.
46   */
47  public int getEducationalQualification() {
48    return this.educationalQualification;
49  }
50
51  /**
52   * Generates a random educational qualification.
53   *
54   * @return educational qualification.
55   */
56  public static int generateEducationalQualification() {
57    return new Random().nextInt(4) + 1;
58  }
59
60  /**
61   * Generates a unique id for a citizen.
62   *
63   * @return a new id for a citizen.
64   */
65  public static int generateId() {
66    id++;
67    return id;
68  }
69
70  /**
71   * Converts an integer to a string.
72   *
73   * @param i the integer to convert to a string
74   * @return the converted integer as a string.
75   */
76  public static String convert(int i) {
77    return String.valueOf(i);
78  }
79
80  /** Resets the internal id counter to zero. */
81  public static void resetId() {
82    id = 0;
83  }
84}