Mehrere Objekte mit einer Methode ausgeben

chillerStudent

Bekanntes Mitglied
Guten Tag,

ich habe bei der OO-Prog mehrere Objekte erstellt. Ich möchte nun, dass alle Objekte ausgegeben werden. Wie geht das?
Danke schon mal für eure hilfe:)
 

njans

Top Contributor
Ausgeben in welcher Form?
Als Rückgabewert? Sind es denn Objekte des gleichen Typs?
Oder als Ausgabe auf die Konsole ?
 

njans

Top Contributor
So etwas?
Java:
public static void printMyObjects(MyClass[] objectArray)
{
  for (MyClass object: objectArray)
  {
    System.out.println(object.toString()); // toString muss evtl. in der Klasse MyClass überschrieben werden
  }

}
 

chillerStudent

Bekanntes Mitglied
Nein.
Ich habe drei variablen(class x) und mehrere konstruktoren. Konstruktoren werden in main mehrmals aufgerufen. die drei variablen sind vom typ string int int. Die ausgabemethode hat keinen parameter:


Java:
//class X
static void ausgabe() {

}

Java:
// main

X a = new X();
X b = new X("s", 2);
X c = new X("s", 2, 4);

b.anzeigen(); // das hab ich hinbekommen, also nur b ausgeben

X.ausgabe(); // hier soll er a, b und c ausgben.
 
G

Gast2

Gast
Du müsstest alle Instanzen in einer statischen liste speichern. Im Konstruktor fügst du die Instanzen dann in für liste.

Aber wofür brauchst du so was?
 

njans

Top Contributor
Ich nenne die drei werte einfach mal: inputString, inputIntEins, inputIntZwei.
anzumerken ist, dass ich davon ausgehe, dass du nicht übergebene(durch den Konstruktor als Parameter übergeben) Werte mit null und -1 initialisierst.

Java:
static void ausgabe() {
System.out.println("inputString: " + ((inputString == null)?"":inputString));
System.out.println("inputIntEins: " + ((inputIntEins== -1)?"":inputIntEins));
System.out.println("inputIntZwei: " + ((inputIntZwei== -1)?"":inputIntZwei));
}

Vermutlich willst du das das println gar nicht angezeigt wird, würde aber durch Umformen auch gehen ;)

EDIT: komplett falsch aufgefasst, ich glaub ich geh nun mal schlafen ^^
 
Zuletzt bearbeitet:

chillerStudent

Bekanntes Mitglied
Du müsstest alle Instanzen in einer statischen liste speichern. Im Konstruktor fügst du die Instanzen dann in für liste.

Aber wofür brauchst du so was?

Was du mit liste meinst, weiß ich nicht, aber ich denke ich soll die instanzen alle statisch deklarieren. Das problem ist, wenn ich die statisch deklariere, dann werden diese instanzen in konstruktoren nicht benutzt. Sind aber sichtbar.

Ich muss die Instanzen in konstruktoren, in nicht statischen methoden und in statischen methoden benutzen. :(

Wofür ich das brauche? Hausaufgaben :)
 

njans

Top Contributor
Mit Liste meint er z.B. ArrayList oder LinkedList. Eben alles, was das Interface implementiert.
Generell musst du bei der Erstellung eines neuen Objektes im Konstruktor direkt das Objekt zu einer statischen Liste hinzufügen.
Und dann bei X.ausgabe() mit einer Schleife über die Liste gehen und diese Ausgeben.
 

chillerStudent

Bekanntes Mitglied
Mit Liste meint er z.B. ArrayList oder LinkedList. Eben alles, was das Interface implementiert.
Generell musst du bei der Erstellung eines neuen Objektes im Konstruktor direkt das Objekt zu einer statischen Liste hinzufügen.
Und dann bei X.ausgabe() mit einer Schleife über die Liste gehen und diese Ausgeben.

Genau so ähnlich habe ich das im Kopf. Leider hab ich nie mit Listen gearbeitet.
Also ich muss die zwischen werte irgendwo speichern, dann mittels einer schleife ausgeben lassen. Es gibt doch bestimmt eine andere möglichkeit.
 

njans

Top Contributor
Java:
// Liste erzeugen
ArrayList<X> liste = new ArrayList<X>();

//Einfügen z.B. a
liste.add(a);

//Zugriff z.B. über for-Schleife mit Laufvariable i
liste.get(i)
 
F

Firephoenix

Gast
Wenn es für eine Hausaufgabe ist wäre unter umständen auch die Aufgabenstellung oder ein Coderahmen hilfreich ;) Aus einem Kontext heraus kann man sowas leichter einschätzen als zu sagen "ich habe 3 instanzen von X und brauche die in Konstruktoren, statischen und nicht statischen Methoden und brauche noch sowas wie eine Ausgabe in Y die alle Instanzen aus X ausgibt"
Gruß
 

chillerStudent

Bekanntes Mitglied
Hier ein Beispiel:

Java:
class Rechteck {
int height, width, x, y;
Rechteck() { x = y = 1; }
Rechteck(int height) { this(); this.height = height;}
Rechteck(int height, int width) {
this(height); this.width = width;
}
static void ausgeben(){
??
}
}
Java:
//main class
Rechteck r1 = new Rechteck();
Rechteck r2 = new Rechteck(7);
Rechteck r3 = new Rechteck(7,8);

//Ausgabe
Rechteck.ausgeben();  // hier möchte ich, dass alles ausgegeben wird, was in r1, r2 und r3 gespeichert wurde als System.out...
 
F

Firephoenix

Gast
Ok, also wenn ich das richtig verstehe hast du die Klasse Rechteck
Im Programmverlauf erzeugst du Instanzen der Klasse, zu einen Zeitpunkt X rufst du auf der Klasse Rechteck .ausgeben(); auf. Diese Methode soll alle aktuellen Instanzen die vorhanden sind nacheinander ausgeben.

Dann bietet es sich an in der Klasse Rechteck eine statische List anzulegen die Rechteck-instanzen speichert.
Da deine Konstruktoren sowieso immer den parameterlosen Konstruktor aufrufen kannst du einfach als letzten Aufruf in diesem die gerade erzeugte instanz (this) zu der liste hinzufügen.

Bei der statischen Funktion ausgeben hast du Zugriff auf die Liste und kannst per for /for-each -Schleife über die Instanzen iterieren. Dann setzt du dir einfach aus den Werten der aktuellen Instanz einen String zusammen und gibst diesen aus.

Noch einfacher geht es wenn du in der Klasse Rechteck die von Object geerbte Methode toString überschreibst, dann kannst du nämlich das rechteck direkt in den println() Aufruf einsetzen.

Hoffe das ist in etwa das was du brauchst ;)

Gruß
 

chillerStudent

Bekanntes Mitglied
@firephoenix

Also das Problem hast sehr gut verstanden. Aber wie schon gesagt hab ich noch nie mit listen gearbeitet bzw ich darf diese nicht benutzen, weil noch nicht behandelt. Deswegen muss es einen anderen weg geben.
 
F

Firephoenix

Gast
Dann bleibt eigentlich nur noch das Array als brauchbare Datenstruktur, das würde auch dem Ansatz von njans entsprechen.
Denn da du zur Laufzeit nicht weißt wieviele Instanzen erzeugt werden musst du natürlich die Möglichkeit bereitstellen mehrere zu speichern.
Mit etwas umkopieren kann man ein Array auch ohne viel Aufwand als dynamische Liste benutzen wenn man List selbst nicht benutzen darf.
Gruß
 

chillerStudent

Bekanntes Mitglied
Dann bleibt eigentlich nur noch das Array als brauchbare Datenstruktur, das würde auch dem Ansatz von njans entsprechen.
Denn da du zur Laufzeit nicht weißt wieviele Instanzen erzeugt werden musst du natürlich die Möglichkeit bereitstellen mehrere zu speichern.
Mit etwas umkopieren kann man ein Array auch ohne viel Aufwand als dynamische Liste benutzen wenn man List selbst nicht benutzen darf.
Gruß

Das bringt mich auf eine (schöne) idee. Idee==StringBuffer :)
mal gucken was dabei rauskommt
 

chillerStudent

Bekanntes Mitglied
Alles richtig gemacht. :toll: Mit StringBuffer hats geklappt.
Danke an alle die mir geholfen haben. Besonderen dank an firephoenix, der mich auf diese idee gebracht hat, auch wenn diese für ein oder anderen nicht die richtige ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Erste Schritte mehrere Objekte aus einer Klasse Java Basics - Anfänger-Themen 4
S Mehrere Objekte einer Klasse automatisch erzeugen Java Basics - Anfänger-Themen 15
L Mehrere Objekte einer Klasse aber nur einmal Konstruktor aufruf? Java Basics - Anfänger-Themen 2
N Verständnisproblem: Mehrere Objekte einer Klasse erstellen Java Basics - Anfänger-Themen 2
C Mehrere Objekte in einer Liste einfügen und serialisieren Java Basics - Anfänger-Themen 1
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
D Mehrere Objekte in ein Objekt zusammenfassen Java Basics - Anfänger-Themen 16
K Mehrere Objekte anlegen Java Basics - Anfänger-Themen 23
B Klassen Mehrere Objekte mit Schleife erstellen - How? Java Basics - Anfänger-Themen 1
V OOP Aufnahme von Dreiecken in ein/mehrere Objekte Java Basics - Anfänger-Themen 0
C Klasse auf mehrere Objekte zugreifen lassen Java Basics - Anfänger-Themen 26
X Mehrere Objekte erzeugen Java Basics - Anfänger-Themen 8
R Klassen Mehrere/Verschiedene Objekte umcasten Java Basics - Anfänger-Themen 8
L OOP Methoden für mehrere Objekte Java Basics - Anfänger-Themen 17
J Ausgabe Klasse /mehrere Objekte Java Basics - Anfänger-Themen 7
J Mehrere Objekte in einem Array Java Basics - Anfänger-Themen 5
S Mehrere Objekte einem Objekt zuordnen Java Basics - Anfänger-Themen 3
L Mehrere Objekte mit NIO in eine Datei schreiben Java Basics - Anfänger-Themen 4
R mehrere Objekte in Schleife anlegen? Java Basics - Anfänger-Themen 4
J In For-Schleife mehrere Objekte erzeugen Java Basics - Anfänger-Themen 5
J Mehrere Objekte in einem JFrame darstellen Java Basics - Anfänger-Themen 6
G Mehrere Objekte in Schleife generieren Java Basics - Anfänger-Themen 6
K Mehrere Werte in einem Switch Case parallel überprüfen Java Basics - Anfänger-Themen 23
S HashMap mehrere Keys zu einem Value Java Basics - Anfänger-Themen 3
T Mehrere if bedingungen ohne & Java Basics - Anfänger-Themen 2
I JPA Query für mehrere Klassen Java Basics - Anfänger-Themen 3
MiMa Java Doc mehrere Return Parameter Java Basics - Anfänger-Themen 11
javaBoon86 Array mehrere Dimensionen Java Basics - Anfänger-Themen 10
Buroto Klassen Mehrere .txt Datein verbienden und anschließend auslisten Java Basics - Anfänger-Themen 10
S mehrere TreeSets so speichern, dass man sie miteinander vergleichen kann Java Basics - Anfänger-Themen 1
M Mehrere Daten/ Variablen Speichern Java Basics - Anfänger-Themen 9
C mehrere JPanel in ein JFrame bringen Java Basics - Anfänger-Themen 9
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
D mehrere Berechnungen in einer Methode Java Basics - Anfänger-Themen 9
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
Kotelettklopfer Mehrere Projekte in einem Git verwalten Java Basics - Anfänger-Themen 10
I JAX-RS Mehrere Parameter in Query Java Basics - Anfänger-Themen 3
M mehrere Rückgabenwerte aus Methode Java Basics - Anfänger-Themen 7
A Input/Output Mehrere Csv-Dateien einlesen Java Basics - Anfänger-Themen 2
R Mehrere Buchstaben aus einem String entfernen Java Basics - Anfänger-Themen 1
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
S Mehrere Probleme im Code Java Basics - Anfänger-Themen 7
Ich lerne Java. Methoden Mehrere Methoden mit Punkt Java Basics - Anfänger-Themen 45
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D OOP- Eine Klasse in mehrere Klassen aufteilen Java Basics - Anfänger-Themen 7
F Mehrere Server Sockets in einer Anwendung Java Basics - Anfänger-Themen 9
T DoWhile Schleife über mehrere Mothoden Java Basics - Anfänger-Themen 5
B Methoden Mehrere ähnliche Methoden zusammenfassen Java Basics - Anfänger-Themen 24
E Mehrere Eingabezeilen gleichzeitig einlesen Java Basics - Anfänger-Themen 7
C Mehrere Zufallswerte Java Basics - Anfänger-Themen 4
M Dijkstra Algorithmus in Graphen auf mehrere verschiedene Knoten anwenden lassen Java Basics - Anfänger-Themen 11
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
F Mehrere Exceptions in einem Catch-Block abfangen Java Basics - Anfänger-Themen 12
O Datei in mehrere kleine Dateien umwandeln Java Basics - Anfänger-Themen 47
Henri Mehrere Ordner umbenennen Java Basics - Anfänger-Themen 11
E Mehrere Arrays addieren mit Übertrag Java Basics - Anfänger-Themen 13
B mehrere Werte mit scanner und while schleife einlesen, max berechnen bzw addieren Java Basics - Anfänger-Themen 2
J Mehrere paintComponenten in einem Programm Java Basics - Anfänger-Themen 0
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
B Jeweils den Parent bekommen -> mehrere Ebenen Java Basics - Anfänger-Themen 2
javajoshi mehrere Threads: Methoden zentral unterbringen Java Basics - Anfänger-Themen 8
M Erste Schritte Mehrere eingaben in einer Line vergleichen (if equals...) Java Basics - Anfänger-Themen 6
L Mehrere Jars im Unterordner Java Basics - Anfänger-Themen 2
L LibGDX - mehrere Screens Java Basics - Anfänger-Themen 1
J Sudoku mehrere Lösungen Java Basics - Anfänger-Themen 29
F Mehrere Instanzen der Klasse A EINER Instanz der Klasse B übergeben Java Basics - Anfänger-Themen 3
T Mehrere JFrames gleichzeitig öffnen Java Basics - Anfänger-Themen 6
O Erste Schritte Scanner mehrere male benutzen (Konsole) Java Basics - Anfänger-Themen 7
S mehrere If Bedingungen Java Basics - Anfänger-Themen 5
F Mehrere Zeilen zu einer Zeile zusammenfügen und in eine Datei schreiben Java Basics - Anfänger-Themen 1
B Mehrere Zahlen speichern Java Basics - Anfänger-Themen 60
M mehrere extends? Java Basics - Anfänger-Themen 19
N Datei Zeilenweise einlesen, Ausgabe mehrere Arrays Java Basics - Anfänger-Themen 7
C ButtonController löst mehrere Methoden aus Java Basics - Anfänger-Themen 5
D JPanel mehrere Formen zeichnen Java Basics - Anfänger-Themen 5
B Timer mehrere Male ausführen Java Basics - Anfänger-Themen 4
kilopack15 Mehrere Threads in einer Klasse Java Basics - Anfänger-Themen 8
F mehrere eingegebene Zahlen mit Zahlen von 1-9 multiplizieren Java Basics - Anfänger-Themen 18
F Mehrere Konstruktoren? Wofür? Java Basics - Anfänger-Themen 21
J Mehrere Eingabefelder programmiert (Zeigt Fehler an) Java Basics - Anfänger-Themen 6
Jinnai4 Mehrere Textfelder überprüfen Java Basics - Anfänger-Themen 16
N Mehrere Forms auf einem Panel Java Basics - Anfänger-Themen 6
Tommy Nightmare Variable auf mehrere Ungleichheiten prüfen Java Basics - Anfänger-Themen 18
D Input/Output Mehrere Befehle nacheinander ausführen Java Basics - Anfänger-Themen 20
N Integers aus Textdatei auslesen und mehrere Arrays erstellen Java Basics - Anfänger-Themen 9
S Verständnis - Frage mehrere SQL Statements in While Schleife Java Basics - Anfänger-Themen 0
J MVC Pattern, mehrere Controller/Views/Models Java Basics - Anfänger-Themen 0
J Mehrere IF Anweisungen und dazugehörige ELSE Java Basics - Anfänger-Themen 6
I Klassen Mehrere Java Klassen in einer .java Datei Java Basics - Anfänger-Themen 7
V Mehrere Dateien aus JFileChooser in eine ArrayList speichern Java Basics - Anfänger-Themen 2
F Mehrere Konstruktoren Java Basics - Anfänger-Themen 10
A Mehrere Radiobuttons Java Basics - Anfänger-Themen 3
T Mehrere Methoden in der main-Methode verknüpfen und aufeinander anwenden Java Basics - Anfänger-Themen 2
Q OOP Mehrere Instanzen auf ein Feld Java Basics - Anfänger-Themen 13
G Mehrere If-else-Sätze der Reihe nach durchlaufen lassen Java Basics - Anfänger-Themen 2
K Mehrere String.valueOf() kürzer schreiben / "packen"? Java Basics - Anfänger-Themen 2
F String mehrere male ausgeben? Java Basics - Anfänger-Themen 4
H wie mehrere variablen in einfacher for-schleife? Java Basics - Anfänger-Themen 2
H möglichkeiten für for-schleife? (mehrere ausgangsvariablen?) Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben