/**
 * Eine Klasse zur Verwaltung von beliebig langen Notizlisten.
 * Notizen sind nummeriert, um durch einen Benutzer referenziert
 * werden zu können.
 * In dieser Version starten die Notiznummern bei 0.
 * 
 * @author David J. Barnes und Michael Kölling.
 * @version 2006.03.30
 */
import java.util.ArrayList;
public class Notizbuch
{
  //-----------------------------Eigenschaften------------------------------------------
  // Speicher für eine beliebige Anzahl an Notizen.
  private ArrayList<String> notizen;
  //----------------------------Konstruktor--------------------------------------------
  /**
   * Führe die Initialisierungen durch, die für ein Notizbuch
   * notwendig sind.
   */
  public Notizbuch()
  {
    notizen = new ArrayList<String>();

  }

  //----------------------------Methoden--------------------------------------------------
  /**
   * Speichere eine neue Notiz in diesem Notizbuch.
   * @param pNotiz die zu speichernde Notiz.
   */
  public void speichereNotiz(String pNotiz)
  {
    notizen.add(pNotiz);
  }

  /**
   * @return die Anzahl der Notizen in diesem Notizbuch.
   */
  public int anzahlNotizen()
  {
    return notizen.size();
  }

  /**
   * @return die Notiz mit der Nummer pNotiznummer.
   * @param Notiznummer
   */
  public String nenneNotiz(int pNotiznummer)
  {
    if ((pNotiznummer >= 0) && (pNotiznummer < this.anzahlNotizen())) 
    {
      return notizen.get(pNotiznummer);
    }
    else 
    {
      return "nicht enthalten";
    }
  }

  /**
   * Entferne die Notiz mit der angegebenen Nummer aus
   * diesem Notizbuch, wenn sie existiert.
   * @param pNotiznummer die Nummer der zu entfernenden Notiz.
   */
  public void entferneNotiz(int pNotiznummer)
  {
    if ((pNotiznummer >= 0) && (pNotiznummer < this.anzahlNotizen())) 
    {
      notizen.remove(pNotiznummer);
    }

  }

  /**
   * Gib alle Notizen dieses Notizbuchs auf die Konsole aus.
   */
  public void notizenAusgeben()
  {
    for (String notiz: notizen)
    {
      System.out.println(notizen.indexOf(notiz)+": "+notiz);
    }
  }
}
