Bücherregal

xam90

Mitglied
Hallo !!! =)
ich komme bei dieser Aufgabe einfach nicht weiter :/
weiß schon nicht wie ich den Konstruktor machen soll.
kann mir bitte jemand helfen und einen Ansatz geben ?

izown89g_jpg.htm


edit SlaterB: Bild als Link:
Directupload.net - izown89g.jpg
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
fange mit einer leeren Klasse Buch an,
ergänze dann für den Titel ein String-Attribut

usw. usf.
ist gerade der Anfang nicht ausgesprochen offensichtlich?

> weiß schon nicht wie ich den Konstruktor machen soll.

was kann denn ein Konstruktor, ganz allgemein, was zeichnet ihn aus, wie geht der einfachste normalste leere Konstruktor?
was soll man dazu als Ansatz sagen, einfach die Regeln befolgen: Klassenname, () dahinter, {} dahinter,
zu schwer?

sicherlich soll dann noch ein Parameter definiert werden, aber wie kann das eine Herausforderung sein?
es gibt ja nun nur eine Handvoll Sachen, die man mit einem Konstruktor machen kann, etwa einen Parameter dazu

das muss man irgendwann mal an einem Beispiel-Konstruktor oder auch einer Methode gesehen haben,
dann gibt es keine Geheimnisse mehr, ein Parameter hinzuzufügen geht genau so und so

(edit: oh ja, der Link oben handelt ja GENAU von Konstruktoren..)

-------
usw., ein einfacher Schritt nach dem anderen,
klingt vielleicht viel, aber immer zerlegen und immer wieder wiederholen im Kopf
'ich soll einen Konstruktor schreiben, das kann doch nicht schwer sein, ein Konstruktor geht so, das mache ich jetzt, fertig'

oder hast du bestimmte Fragen, Fehlermeldungen?
 
Zuletzt bearbeitet von einem Moderator:
N

nillehammer

Gast
Die Grundlagen sind bei mir schon so lange her, dass ich mir leider nicht vorstellen kann, was es für Probleme bei der Implementierung eines Konstruktors geben kann. Anders/Besser als in dem von mir geposteten Link könnte ich es jetzt auch nicht erklären. Was genau ist denn das Problem? Bzw. zeig doch mal, was Du schon hast.
 
M

Marcinek

Gast
Und da wären wir wieder bei dem ersten Posting... Grundlagen lernen.

Siehe auch den Link in meiner Signatur.
 

Spin

Top Contributor
Dann musst du schon deinen Code und den Fehler zeigen.

Ich bekomme auch einen Fehler und ich habe herausgefunden dass ich keine Klasse drum habe :(

Java:
class BuecherRegal {
public BuecherRegal(String regalSignatur){
 
   this.regalSignatur = regalSignatur;
}
}

Ach ja dann fiel mir auf, dass mein Dateinamen nicht so heißt wie die Klasse also habe ich dummy.java in BuecherRegal.java unbenannt.

Als letztes zeigte mir meine Entwicklungsumgebung an dass ich kein package angegeben habe, und meine Java Dateit liegt in src/buecher/BuecherRegal.java

Gelöst habe ich es mit :
Java:
package buecher;

:toll:
 

xam90

Mitglied
ich weiß auch nicht wie ich die List über die Instanzvariablen der Klasse Buch machen soll, um die Sortierung nach Autor zu machen :/


P.S.: das mitn Konsturktor hab ich jetzt auch hingekriegt...

Meine Codes bis jetzt:

Java:
package Bücherregal;

public class Buch {
	String titel;
	String autor;
	int ersch;
	
	
	Buch(String titel, String autor, int ersch){
		this.titel = titel;
		this.autor = autor;
		this.ersch = ersch;
	}
	String getAutor(String autor){
		return autor;
	}
	
	void printBook(){
		System.out.println("Titel:" + titel + "Autor:" + autor + "Erscheinungsjahr:" + ersch);
	}
	
	int data;
	Buch next;
	Buch(int d){
		data = d;
	}
	Buch(int d, Buch n){
		data = d;
		next = n;
	}

	Buch head;
	Buch(){
		head = null;
	}
	public String toString(){
		String s = "(";
		Buch tmp = head;
		while(tmp != null){
			s = s + tmp.data + " ";
			tmp = tmp.next;
		}
		s = s + ")";
		return s;
	}
	void insertSorted(int val){
		head = insertSortedBuchChain(head, val);
	}
	Buch insertSortedBuchChain(Buch rest, int val){
		if(rest == null || rest.data > val){
			return new Buch(val, rest);
		}else{
			rest.next = insertSortedBuchChain(rest.next, val);
			return rest;
		}
	}
	
}


Java:
package Bücherregal;

public class Buecherregal {
	
	Buch[][] regal;
	int anzahl;
	String regSig;
	
	Buecherregal(String regSig){
		this.regSig = regSig;
	}
	
	void addBook(Buch book){
		int result;
		
		String autor;
		for(int i = 0; i < regal.length; i++){
			for(int k = 0; k < regal[i].length; i++){
				if((result = autor.compareTo(regal[i][k]))){  /*wie krieg ich den Autor in die Methode*/
					regal[i][k] = book;
					k = regal[i].length;
					i = regal.length;
				}
			}
		}
	}
	
}
 
Zuletzt bearbeitet:
S

SlaterB

Gast
du verwendest Buch als Elemente einer verketteten Liste, das kann ich als direkte Anforderung in der Aufgabe nicht lesen
und ist allgemein reichlich kompliziert, nicht zu empfehlen,

kennst du schon eine einfache ArrayList? oder ansonsten die beliebige List-Klasse, auch verlinkt, separat programmieren und testen,
das passt hier nicht ins Thema und sollte nicht mit der Buch-Klasse vermischt werden,
List muss für sich bestehen, dann ein Listen-Objekt erstellen und einfach Bücher einfügen, entfernen usw.

in Buecherregal hast du ja auch ein Array von Buch..,
das ist nicht gerade die Liste aus der Aufgabe, zumindest aber verwendest du anscheinend nicht next & Co. aus Buch

beim Einfügen musst du auf die Reihenfolge achten, compareTo 0 steht für Gleichheit, bei > 0 ist ansonsten die Stelle gefunden, an der es einzufügen gilt,
mit ArrayList & Co. einfach nur ein add/ insert-Befehl, bei einem Array müsste man die weiteren Elemente umkopieren

falls es beim Array bleibt, außerdem darauf achten ob nicht Array-Elemente null sind, bisher ist auch noch gar kein Array-Objekt angelegt,
wieso eigentlich zwei Dimensionen?

na ich verirre in Details, das musst du einfach alles nach und nach programmieren, wenn das add() funktioniert,
Bücher auch wieder gefunden werden, dann kann es ja nicht so schlecht sein
 

Neue Themen


Oben