ich zwei Objekte, die in Arrays gespeichert werden:java, wie Variablen aus einer Zeichenfolge zu einem Objekt hinzufügen
Game(String creator, String title, int releaseYear, int NumberSold)
Creator(String name, String gamesWorkedOn)
Game(creator)
mehrere Schöpfer hat, so als String wie folgt gespeichert wird: "creator1, creator2, creator3"
mit Kommas Trennen Sie ihre Werte.
Nicht alle Spiele haben mehrere Ersteller und es gibt nicht viele verschiedene Ersteller insgesamt.
Was ich zu tun versuche, ist eine Schleife durch eine Reihe von Game(games)
und einen Schöpfer Variable daraus extrahiert und weist es die Creator(name)
und dann alle Spiele überein, dass Schöpfer in erwähnt werden und diese Titel Variablen Creator(gamesWorkedOn)
zuweisen.
Bisher habe ich dies:
public static void PopulateCreators(ArrayList<Game> games) {
//populating an array of Creators with games they have worked on
boolean match = false;
String thisCreator;
String gamesWorkedOn;
ArrayList<Creator> creatorArray = new ArrayList<Creator>();
for (int i = 0; i < games.size(); i++) {
thisCreator = games.get(i).getGameCreator();
thisCreator = thisCreator.replaceAll(", ", "\n");
Was mir diesen Ausgang mit einem SYSOUT gibt:
Shigeru Miyamoto
Satoshi Tajiri
Yoshiaki Koizumi
Koichi Hayashida
Shigeru Miyamoto
Meine gewünschte Ausgabe, so etwas zu haben wäre:
name = "Shigeru Miyamoto"
gamesWorkedOn = "game1, game2, game3"
Ich schaue mit einer for-Schleife, bin aber unsicher, wie Sie es hier implementieren.
Edit:
Ich habe vergessen, ein paar Details zu erwähnen, dass ich nicht wichtig waren dachte, aber ich werde jetzt ein wenig klarer. Dies ist ein Swing-basiertes Projekt, an dem ich arbeite, das Benutzereingaben nimmt und diese Arrays speichert, die dann in einer JSON-Datei gespeichert werden, die beim Laden der Anwendung gelesen wird und wenn ein Benutzer auf die Schaltfläche "Speichern" klickt.
Warum arbeiten Sie überhaupt mit Strings, wenn Sie bereits Klassen haben? Warum hat die Game-Klasse keinen 'Creator Creator' oder' List Creators' statt 'String Creator' und warum hat der Creator keine' gamesWorkedOn' statt 'String gamesWorkedOn'? Diese Attribute als Strings zu speichern und sie ständig in die eigentlichen Klassen zu konvertieren, ist kein wirklich gutes Design. –
Es scheint, dass Sie sich über objektorientiertes Design informieren müssen ... – Synch
@OHGODSPIDERS Ich denke, der Grund dafür war, dass es für mich damals der einfachste Weg war, mit diesen Strings umzugehen, um in einer JSON-Datei zu speichern (etwas, das ich in der Post hätte erwähnen sollen). Der Schöpfer-Kurs wurde von mir selbst in letzter Minute gemacht, da ich nicht erwartet hatte, es zu brauchen. Im Moment habe ich Spiele perfekt in einer JSON-Datei gespeichert und kann problemlos in mein Swing-Projekt geladen werden (wenn auch mit schlechtem Design). –