Arrays mit verschiedenen Datentypen, d. h. Strings und Ganzzahlen. (Objektorientiert)

8

Zum Beispiel habe ich

3 Bücher: Booknumber (int), Booktitle (string), Booklanguage (string), Bookprice (int).

Ich möchte jetzt ein Array namens books[3][4] .

Ich erhalte die Daten, die ich über setBooknumber gesetzt habe, so:
Book1.getBooknumber(), Book1.getBooktitle(),...,Book3.getBookprice().

Nun, wie erkenne ich books[3][4] array ? Ich kann es nicht String books[][] = new String [3][4] nennen. Weil ich Booknumber (int) nicht hineinbekomme.

Ich möchte nicht, dass Booknumber String oder Bookprice ist. Wie erkenne ich es bitte?

Nun, um es weiter auszuarbeiten.

Ich habe 2 Klassen.

%Vor%

und

%Vor%     
Grumpy ol' Bear 06.01.2010, 19:21
quelle

5 Antworten

28
%Vor%

deklarieren Sie Ihr Array dann als:

%Vor%

BEARBEITEN: Als Reaktion auf die Verwirrung von O.P. sollte Book ein Objekt sein, kein Array. Jedes Buch sollte für sich selbst erstellt werden (über einen richtig konstruierten Konstruktor) und dann dem Array hinzugefügt werden. Tatsächlich würde ich kein Array, sondern eine ArrayList verwenden. Mit anderen Worten, Sie versuchen, Daten in Container zu zwingen, die für die jeweilige Aufgabe nicht geeignet sind.

Ich würde wagen, dass 50% der Programmierung die richtige Datenstruktur für Ihre Daten wählt. Algorithmen folgen natürlich, wenn es eine gute Wahl der Struktur gibt.

Wenn Sie richtig vorgehen, sehen Sie Ihre UI-Klasse wie folgt aus: Bearbeiten: Generics zum folgenden Code-Snippet hinzugefügt.

%Vor%

usw.

Jetzt können Sie das Collections-Interface verwenden und so etwas tun:

%Vor%     
Chris Cudmore 06.01.2010, 19:29
quelle
3

Beachten Sie die Wiederholung von Book in Booknumber (int), Booktitle (string), Booklanguage (string), Bookprice (int) - es schreit nach einem Klassentyp.

%Vor%

Jetzt können Sie einfach haben:

%Vor%

Wenn Sie Arrays wollen, können Sie es als Objekt-Array deklarieren und einfügen Integer und String hinein:

%Vor%     
Chandra Patni 06.01.2010 19:24
quelle
2

@NoCanDo: Sie können kein Array mit verschiedenen Datentypen erstellen, da Java nur Variablen mit einem bestimmten Datentyp oder Objekt unterstützt. Wenn Sie ein Array erstellen, ziehen Sie eine Auswahl ähnlicher Variablen zusammen - fast wie eine erweiterte Variable. Alle Variablen müssen daher vom selben Typ sein. Java kann den Datentyp Ihrer Variablen nicht unterscheiden, es sei denn, Sie sagen ihm, was es ist. Bsp .: int teilt mit, dass alle deklarierten Variablen vom Datentyp int sind. Was Sie tun könnten, ist 3 Arrays mit entsprechenden Informationen zu erstellen.

%Code%

Nun erhalten Sie mit einer einzigen Indexnummer alle Informationen zu diesem Buch. Beispiel: Alle Ihre Arrays mit der Indexnummer 0 ([0]) enthalten Informationen zu Buch 1.

    
CCA 16.03.2013 02:38
quelle
1

Verwenden Sie den Objekttyp dh Objektbücher [3] [4];

    
GuruKulki 06.01.2010 19:35
quelle
0

Erstellen Sie eine Klasse Buch mit den Eigenschaften Nummer, Titel und Preis. Speichern Sie sie dann in einem eindimensionalen Array? Auf diese Weise anstelle von

%Vor%

.. Um den Titel Ihres Buches zu erhalten, rufen Sie

an %Vor%

Scheint mir, als wäre es ein wenig überschaubarer und Code-freundlich.

    
George Johnston 06.01.2010 19:33
quelle

Tags und Links