/**
 * Diese Klasse definiert Schüler
 * 
 * @author  Michael Kölling und David J. Barnes
 * @version 2006.03.30
 */
public class Schueler {
  // der volle Name des Schülerns
  // Anfang Attribute
  private String name;
  // seine Schülernummer
  private int schuelernummer;
  // die Anzahl der Fehltage
  private int fehlstunden;
  // der LOGIN-Name
  private String login;
  // Ende Attribute
  
  /**
  * Erzeuge einen neuen Schüler mit Name und Schülernummer.
  * @param pName Name des Schülers
  * @param pNummer Schülernummer
  */
  public Schueler(String pName, int pSchuelernummer) {
    this.name = "";
    this.schuelernummer = 0;
    this.fehlstunden = 0;
    name = pName;
    schuelernummer = pSchuelernummer;
    fehlstunden = 0;
    this.ermittleLogin();
  }
  
  // Anfang Methoden
  
  /**
  * Liefere den vollen Namen dieses Schüler.
  * @return Name
  */
  public String gibName() {
    return name;
  }
  
  /**
  * Trage einen neuen Namen ein.
  * @param pName neuer Name
  */
  public void andereName(String pName) {
    name = pName;
    this.ermittleLogin();
  }
  
  /**
  * Liefere die Schülernummer dieses Schüler.
  * @return schuelernummer
  */
  public int gibSchuelernummer() {
    return schuelernummer;
  }
  
  /**
  * Erhöhe die Anzahl der Fehlstunden.
  * @param pFehlstunden hinzugekommene Fehlstunden
  */
  public void erhoeheFehlstunden(int pFehlstunden)  {
    fehlstunden += pFehlstunden;
  }
  
  /**
  * Liefere die Anzahl der bereits erworbenen Scheine.
  * @return fehlstunden
  */
  public int gibFehlstunden()  {
    return fehlstunden;
  }
  
  /**
  * Liefere den Login-Namen. Der Login-Name ist eine Kombination der
  * ersten vier Buchstaben des Namens mit den ersten drei Ziffern der
  * schuelernummer.
  * @return Loginname
  */
  public String gibLogin(String login) {
    return "";
  }  
  
  /**
  * Gib Name und Schülernummer auf der Konsole aus.
  */
  public void druckeDaten() {
    System.out.println(name + " (" + schuelernummer + ")");
  }
  
  /**
  * Ermittelt den Login-Namen. Der Login-Name ist eine Kombination der
  * ersten drei Buchstaben des Namens mit den Ziffern der
  * schuelernummer.
  */
  private void ermittleLogin() {
    if (name.length()> 2) {
      login = name.substring(0,3) + schuelernummer;
    }
    else{
      login = name + schuelernummer;   
    }
  }
  
}
