Quellcode interpretieren

julia123

Erfahrenes Mitglied
hi,

noch mal ein paar Aufgaben von mir :p


Code:
class Buchverzeichnis{

private static int max = 0;
	private static int akt = 0;
	private static String[] isbnArray = null;
	private static Buch[] buchArray = null;
	

	/**
	 * Initialisiere das Verzeichnis. Diese Funktion muss vor der ersten
	 * Benutzung aufgerufen werden.
	 * 
	 * @param m
	 *            maximale Zahl der Eintraege
	 * @pre das Verzeichnis wurde noch nicht initialisiert
	 * @post Verzeichnis kann genutzt werden und max Eintraege annehmen
	 */
	public static void init(int m) {
		max = m;
		isbnArray = new String[max];
		buchArray = new Buch[max];
	}

	/**
	 * Neues Paar: Isbn - Buch eintragen.
	 * 
	 * @param buch
	 *            das Buch
	 * @param isbn
	 *            die ISBN des Buchs
	 * @pre das Verzeicnis darf nicht voll sein, dies ISBN darf noch nicht
	 *      eingetragen sein
	 * @post Die Zuordnung ISBN - Buch wird eingetragen
	 */
	public static void eintrage(Buch buch, String isbn) {
		if (akt == max) {// voll: Eintragswunsch ignorieren
			return;
		}
		for (int i = 0; i < akt; i++) {
			if (isbnArray[i].equals(isbn)) {// bereits enthalten: ignorieren
				return;
			}
		}
		isbnArray[akt] = isbn;
		buchArray[akt] = buch;
		akt = akt + 1;
	}

	/**
	 * Suche das Buch zu einer ISBN.
	 * 
	 * @param isbn
	 *            die ISBN
	 * @return das zugehoerige Buch falls die ISBN enthalten ist, ansonsten null
	 */
	 public static Buch suche(String n) { 
		 return null;
	 }

	/**
	 * @return aktuelle Zahl der Eintraege
	 */
	public static int zahlEintraege() {
		return akt;
	}

	/**
	 * Liefert die maxiamle Zahl der Eintaege.
	 * 
	 * @return maximale Zahl der Eintraege
	 */
	public static int maxZahlEintraege() {
		return max;
	}
}


public class Buch {
	public Buch(String isbn, String autor, String titel) {
		this.isbn = isbn;
		this.autor = autor;
		this.titel = titel;
	}

	public String getIsbn() {
		return isbn;
	}

	public String getAutor() {
		return autor;
	}

	public String getTitel() {
		return titel;
	}

	@Override
	public String toString() {
		return "Buch [autor=" + autor + ", titel=" + titel + "]";
	}

	private String isbn;
	private String autor;
	private String titel;
}






1. Erg¨anzen Sie die fehlende Implementierung der Methode suche.
2. Modifizieren Sie die Funktion eintrage derart, dass die Vorbedingung durch eine eventuell geworfene Ausnahme
ersetzt wird. Die Ausnahme muss dabei einen passenden Typ aus der Java–API haben.

Zur
1.
Code:
public static suche Buch(String n){
         for(int i = 0; i<=zahlEintrag();i++){
              if(isbaArray[i].equals(n)){
                     return buchArray[i]
         }return null;
}

Zur
2.
Code:
public static void eintrage(Buch buch, String isbn) {
            boolean a = fals;
            for (int i = 0; i<akt; i++) {
                if (isbnArray[i].equals(isbn)) {// bereits enthalten: ignorieren
                       a = true;
           }

           if(akt == max && a==true)
                 throw new IllegalArgumentExeption{
                     JOptionPain.showMessageDialog(null,"fehler")
           }
                }
          isbnArray[akt] = isbn;
          buchArray[akt] = buch;
          akt = akt+1;
          }
}

Hier noch die 3. :
3. Erla¨utern Sie genau welche A¨ nderungen an der Definition der Klasse Buchverzeichnis vorzunehmen
w¨aren, damit sie wie folgt genutzt werden kann:
Buchverzeichnis.init(10);
Buchverzeichnis verz1 = new Buchverzeichnis();
Buchverzeichnis verz2 = new Buchverzeichnis();
verz1.eintrage(buch1, "978-3150099001");
verz1.eintrage(buch2, "978-3458334170");
verz2.eintrage(buch2, "978-3458334170");
verz2.eintrage(buch3, "978-3458084815");
System.out.println(verz1.suche("978-3458334170"));
System.out.println(verz1.suche("978-3458334170"));

Hier würde mir glaube ich so was wie eine Musterlösung echt weiter Helfen.
Wo alle korrekt Erläuter wird.

Der erste Part ist mir sehr wichtig kann mir da jemand helfen?

vielen dank im voraus.
 
Zuletzt bearbeitet:

HonniCilest

Erfahrenes Mitglied
Hallo Julia,

ich denke das Problem warum keiner antwortet ist, dass du immer noch den Code in Code-Tags verfasst. Der Code wäre leserlicher, wenn du stattdessen Java-Tags verwendest.

Gruß HC