/**
 * The Student class represents a student in a
 * student administration system.
 * It holds the student details relevant in our context.
 *
 * @author Michael Kölling and David Barnes
 * @version 2006.03.30
 */
public class Student {
    // the student’s full name
    private String name;
    // the student ID
    private String id;
    // the amount of credits for study taken so far private int credits;
    private int credits;
    /**
     * Create a new student with a given name and ID number.
     */
    public Student(String fullName, String studentID) {
        name = fullName;
        id = studentID;
        credits = 0;
    }

    /**
     * Return the full name of this student.
     */
    public String getName() {
        return name; }

    /**
     * Set a new name for this student.
     */
    public void changeName(String newName) {
        name = newName;
    }

    /**
     * Return the student ID of this student.
     */
    public String getStudentID() {
        return id; }

    /**
     * Add some credit points to the student’s
     * accumulated credits.
     */
    public void addCredits(int newCreditPoints) {
        credits += newCreditPoints;
    }

    /**
     * Return the number of credit points this student
     * has accumulated.
     */
    public int getCredits() {
        return credits; }

    /**
     * Return the login name of this student.
     * The login name is a combination
     * of the first four characters of the
     * student’s name and the first three
     * characters of the student’s ID number.
     */
    public String getLoginName() {
        if(name.length() < 4 && id.length() < 3){
            return name + id;
        } else if (name.length() < 4 && id.length() >= 3){
            return name + id.substring(0,3);
        } else if (name.length() >= 3 && id.length() <3){
            return name.substring(0,4) + id;
        } else {

            return name.substring(0,4) + id.substring(0,3);
        }
    }

    /**
     * Print the student’s name and ID number
     * to the output terminal.
     */
    public void print() {
        System.out.println(name + " (" + id + ")");
    }

    /**
     * Return the number of characters in this string.
     */
    public void length() {
        if(name.length()<4 || id.length()<3){
            System.out.println("length of name or ID are too small");    
        }
    }
}