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}