Collections Geeignete Collection/Liste/Datenbank

Tobias get

Mitglied
Hallo Leute

Das erste Projekt steht bald an und es geht um einen Währungsrechner. In der Aufgabe steht zwar ein "geeignetes Array" zu verwenden, aber ich weiß nicht so recht wie man in einem simplen Array einen Double-Wert einem String (Währung) zuordnet.

Und zwar sieht das etwa so aus:
"Euro" : 1.212
"US Dollar" : 1.384
"Australische Dollar" : 1.923
"Korean won": 1528.123
usw. (hier zb grad im json format)

Meine Frage wäre welche Collection oder Ähnliches würde sich denn hierfür gut eignen und wäre z.b. bei der "Währungssuche" relativ einfach umzusetzen (vorhandene Methoden)? Wenn ich das richtig verstanden habe nennt sich das parsen?
Gewünscht ist z.b. beim Eingeben von "dol" alle Währungen/Strings die dol enthalten, also alle Dollars angezeigt zu bekommen und dann nochmals daraus auszuwählen.

Kurzes Googlen ergibt zb. Hashmap - ein Tutor hat was von Json gemeint. Bei Letzterem hab ich mich kurz eingelesen, aber finde grad auf die Schnelle nicht wie man hier auch nach nur einem Teil des Strings sucht und es wirkt auf Anhieb etwas komplex. Falls ich doch auf dem richtigen Weg bin, kann mir wer ein kurzes Bsp. geben wie die Teilsuche mit Jsonobject.get("..dol..") oder wie auch immer richtig ausgedrückt wird?

Vielleicht kennt ja wer eine einfachere Lösung die Daten zu verarbeiten (derzeit als .txt gespeichert). Ein Link mit ähnlich einfachem Beispiel bzw. ein paar Stichworte nach denen ich am besten suchen sollte würden schon helfen.

Vielen Dank für die Aufmerksamkeit
Besten Gruß
 
Zuletzt bearbeitet:

Javinner

Top Contributor
In der Aufgabe steht zwar ein "geeignetes Array" zu verwenden, aber ich weiß nicht so recht wie man in einem simplen Array einen Double-Wert einem String (Währung) zuordnet
Damit sind ganz bestimmt die Listen gemeint. Eine ArrayList arbeitet zum Beispiel mit einem Array zusammen.
ein Tutor hat was von Json gemeint
Da gibt es sicherlich mehrere Wege, wie man es bewerkstelligt.
Ich würde mir ein Objekt "Währung" erstellen, welches von allen Währungen vererbt wird, welche wiederum als Wert den Umrechnungswert haben. So kannst du sehr einfach mehrere Währungen aufbewahren und den Wert aller Währungen in Dollar usw. angeben.
 

Robat

Top Contributor
Ich würde auch eine eigene Klasse definieren, die dir den Namen und den Umrechnungsfaktor (?) zusammen packt.
Ob du dann eine Liste oder ein Array nimmst ist Geschmackssache. Würde sicherlich nur einen Unterschied machen, wenn du zur Laufzeit neue Währungen hinzufügen lassen willst.
 

mihe7

Top Contributor
@Tobias get kannst Du mal den genauen Wortlaut wiedergeben? Wenn da Array steht, musst Du auch mit Arrays arbeiten. Wenn eine Textdatei vorgegeben ist, musst Du mit dieser arbeiten. Lösungen gibt es wie Sand am Meer, die Frage ist halt, welche in Deiner Aufgabe gefordert wird.
 

MoxxiManagarm

Top Contributor
Also unabhängig von der "geeigneten" Collection, hier ein kleines Beispiel für JSON:
Java:
import java.io.StringReader;
import javax.json.*;

public class JsonDemo {

  public static void main(String[] args) {
    final String str =
        "{" + "\n" +
            "\"Euro\" : 1.212" + ",\n" +
            "\"US Dollar\" : 1.384" + ",\n" +
            "\"Australische Dollar\" : 1.923" + ",\n" +
            "\"Korean won\": 1528.123" + "\n" +
        "}";
 
    final String filterFor = "Dol";
 
    JsonObject obj = Json.createReader(new StringReader(str)).readObject();
 
    obj.entrySet().stream()
      .filter(entry -> entry.getKey().contains(filterFor))
      .forEach(System.out::println);
  }
}

prints:
Code:
US Dollar=1.384
Australische Dollar=1.923

Im engen Sinne unterscheidet sich aber ein Json nicht viel von einer Map. Du hast bei beiden Keys und Values. Der Zugriff auf beide Objekte wird in vielen Sprachen syntaktisch nicht unterschieden.
 

Tobias get

Mitglied
Ok danke schonmal Leute,
Vererbung haben wir zb. erst morgen und besitze grad auch nur gefährliches Halbwissen dazu.
Also unabhängig von der "geeigneten" Collection, hier ein kleines Beispiel für JSON:
Java:
    obj.entrySet().stream()
      .filter(entry -> entry.getKey().contains(filterFor))
      .forEach(System.out::println);
Danke auch für das Json Beispiel, das war wonach ich dabei gesucht habe.

@Tobias get kannst Du mal den genauen Wortlaut wiedergeben? Wenn da Array steht, musst Du auch mit Arrays arbeiten. Wenn eine Textdatei vorgegeben ist, musst Du mit dieser arbeiten. Lösungen gibt es wie Sand am Meer, die Frage ist halt, welche in Deiner Aufgabe gefordert wird.
1) Choose a suitable representation which allows for defining currencies among with their corresponding conversion rates [..Tabellenlink..] These allow for a simple text file representation e.g. currencies.txt:
2) Write a Class which reads the above table and stores all currencies among with their rates in a suitable array.
Also relativ schwammig formuliert ^^
 

MoxxiManagarm

Top Contributor
Hi! Die Frage gab es in Hausaufgaben schonmal - und da habe ich für Umrechnungen eine Datenstruktur ein Zweidimensionales Array als Tabelle gewählt: https://www.java-forum.org/thema/joptionpane.183063/#post-1166285 :)

Noch online? Für JSON kann man eine Library hernehmen....
Für ein solches Array müsste er aber eher csv nehmen, geht natürlich auch... Ein solches Array in Verbindung mit Json empfehle ich nicht. Aber selbst als csv ist ein Object-Array irgendwie langweilig :p Interessanter ist dann OpenCSV :p
 
X

Xyz1

Gast
Nein hast Du nicht oder wenn dann nur indirekt, wenn Du sagt dass das in den JOptionPane-Thema alles quatsch wäre oder man so Umrechnungen nicht machte. ;) Sorry wenn es unfreundlich klang.
 

Tobias get

Mitglied
meanwhile versteh ich hier als Erstsemestler eh nur bahnhof und muss jeden Begriff erstmal googeln, dabei hatten wir noch nichtmal Vererbung/Collections ^^
Dachte nur ich mach mich während der Feiertage schonmal ans Projekt um in der Klausurzeit genug Luft fürs Lernen zu haben.
Problem ist nur bevor ich mich jetzt ans Interface/Scanner samt Exceptions usw. mache, wollt ich eben nen Ratschlag haben wie man das Prozedere mit den Daten am einfachsten löst. Aber vielleicht ist mein Ansatz auch völlig verkehrt und ich fang erst "außen" an , denke aber nicht oder :p?
Wie gesagt Json hat nur ein Tutor empfohlen "damit ginge es ganz gut" und ich habe mich in der Übung etwas erkundigt. Aber es ist jetzt nicht vorgegeben noch "will ich das unbedingt" so angehen.
 

MoxxiManagarm

Top Contributor
Ok, alles gut :)

Du ich finde das schon toll, dass du dich über deinen aktuellen Horizont beschäftigen möchtest. Aber ja, vielleicht ist es besser erstmal im "inneren" anzufangen.
 
H

horstiii1

Gast
meanwhile versteh ich hier als Erstsemestler eh nur bahnhof
bis zu den Prüfungen ist nicht mehr lang....

um in der Klausurzeit genug Luft fürs Lernen zu haben
wenn Du währenddessen hyperventilierst wäre das auch nicht so gut ;)

Wie gesagt Json hat nur ein Tutor empfohlen "damit ginge es ganz gut" und ich habe mich in der Übung etwas erkundigt
google/gson. ;):oops:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
Antegra Tekkrebell geeignete IDE Java Basics - Anfänger-Themen 13
A geeignete Java-Projekte für Schüler (Einsteiger) Java Basics - Anfänger-Themen 28
Luk10 Geeignete Datenstruktur Java Basics - Anfänger-Themen 4
K Suche geeignete Code-Beispiele Java Basics - Anfänger-Themen 4
P geeignete Datenstruktur für dreidimensionale Raumbelegung Java Basics - Anfänger-Themen 5
G Suche geeignete Datenstruktur Java Basics - Anfänger-Themen 8
G Geeignete Datenstruktur ? Java Basics - Anfänger-Themen 8
H TicTacToe-geeignete Klassenhierarchie Java Basics - Anfänger-Themen 3
Encera Garbage Collection Java Basics - Anfänger-Themen 9
U Beispiel Methode size() vom "Collection"-interface... Wie kann man sichtbar machen, was die Methode unter der Haube macht? Java Basics - Anfänger-Themen 8
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
M Collection.sort sortiert nicht Java Basics - Anfänger-Themen 7
D public ArrayList(Collection<? extends E> c); Java Basics - Anfänger-Themen 2
O Verwirrt beim Java Collection Framework aufruf! Java Basics - Anfänger-Themen 9
E Interface List nicht als Collection an erkannt. Java Basics - Anfänger-Themen 14
F Collection Aufgabe mit LinkedList Java Basics - Anfänger-Themen 3
N Collections Werte aus .txt in einer Collection speichern Java Basics - Anfänger-Themen 11
M Collection Aufgabe Java Basics - Anfänger-Themen 22
Arif Collections Unkonstruiertes Objekt einer Collection hinzufügen Java Basics - Anfänger-Themen 2
W Collection-Problem Java Basics - Anfänger-Themen 35
P Klassen In einer Autoklasse das Objekt Auto mittels Collection Speichern Java Basics - Anfänger-Themen 4
N Collection sortieren/ filtern Java Basics - Anfänger-Themen 7
K Collections Zugriff auf ein bestimmtes Element in der Collection Java Basics - Anfänger-Themen 1
J Objekt in Collection speichern Java Basics - Anfänger-Themen 4
A Interface in Collection (Liste) angeben Java Basics - Anfänger-Themen 2
J Collection Objekt Java Basics - Anfänger-Themen 3
T Collections Zusammengehörende Strings in einer Collection Java Basics - Anfänger-Themen 2
S Frage zu Collection-Generics in Subklassen Java Basics - Anfänger-Themen 6
B Collections Collection soll nur einen bestimmten Datentyp aufnehmen Java Basics - Anfänger-Themen 12
B addAll(Collection<? extends E> c) Java Basics - Anfänger-Themen 9
K Collections Collection für 12 mio Strings Java Basics - Anfänger-Themen 7
Y Collection der eigenen Klasse Java Basics - Anfänger-Themen 10
S Collections Welche Collection ist am geeignetsten? Java Basics - Anfänger-Themen 3
R Passende Collection gesucht Java Basics - Anfänger-Themen 11
G Collections Wahl der richtigen Collection Java Basics - Anfänger-Themen 11
O Frage zu Verständnis von Collection Java Basics - Anfänger-Themen 4
D Scala Iterable zu Java Collection konvertieren Java Basics - Anfänger-Themen 3
D Frage zu Collection und deren Anwendung Java Basics - Anfänger-Themen 2
S Welche Collection kann sich selber sortieren? Java Basics - Anfänger-Themen 8
J Collection soll übergeben werden... Java Basics - Anfänger-Themen 7
C Vector - obsolete collection Java Basics - Anfänger-Themen 1
B Iterator und Collection Java Basics - Anfänger-Themen 11
G Java Collection Frameworks Java Basics - Anfänger-Themen 5
D Collection Konvertieren Java Basics - Anfänger-Themen 7
K Datentypen Über Collection iterieren bringt fehler Java Basics - Anfänger-Themen 8
K OOP Aus Collection Objekte bestimmter Subklassen entfernen Java Basics - Anfänger-Themen 7
S Welche Collection? Java Basics - Anfänger-Themen 5
S Collection rückwärts durchsuchen Java Basics - Anfänger-Themen 4
W Wie kann ich auf Object meiner Collection zugreifen Java Basics - Anfänger-Themen 7
J Collection Vector Java Basics - Anfänger-Themen 8
B Collection während Iteration verändern Java Basics - Anfänger-Themen 7
T Collection in collection Java Basics - Anfänger-Themen 6
T Collection von Objekten verschiedener Klassen Java Basics - Anfänger-Themen 4
J Collection ArrayList und mit erweitertem for iterieren Java Basics - Anfänger-Themen 7
J Probleme mit Collection ArrayList Java Basics - Anfänger-Themen 2
C Collection vs. LinkedList, Abstrakt vs. Konkret Java Basics - Anfänger-Themen 9
G Collection<BufImg> in Datei speichern Java Basics - Anfänger-Themen 8
A Collection auslesen ohne Objekttyp zu kennen? Java Basics - Anfänger-Themen 11
G Collection<Strings> - Liste von Strings verwalten Java Basics - Anfänger-Themen 9
A Struts: Über Collection iterieren mir Taglibs? Java Basics - Anfänger-Themen 13
S Collection<Typ> sort Java Basics - Anfänger-Themen 4
0x7F800000 elemente aus einer Collection korrekt löschen Java Basics - Anfänger-Themen 8
T Frage zu Vererbung beim Collection-Framework Java Basics - Anfänger-Themen 4
I Frage zu Collection und List Interfaces Java Basics - Anfänger-Themen 2
M Object [][] ist nicht vom Typ Collection? Java Basics - Anfänger-Themen 3
S Collection wie LinkedHashMap Java Basics - Anfänger-Themen 7
J LinkedList, Collection, ArrayList, List. was denn bitte? Java Basics - Anfänger-Themen 6
S Collection Sort Java Basics - Anfänger-Themen 15
A Welche Collection? Java Basics - Anfänger-Themen 13
C Collection in Verbindung mit String.split speicherlastig Java Basics - Anfänger-Themen 20
S Collection in einer Collection Java Basics - Anfänger-Themen 5
A Welche Collection soll ich nehmen? Java Basics - Anfänger-Themen 4
E welche Datenstruktur (Collection) Java Basics - Anfänger-Themen 4
K Collection und Iterator Java Basics - Anfänger-Themen 7
I Bestimmte Variablen in Collection Classes Java Basics - Anfänger-Themen 2
M Source Code von Collection Framework, etc. Java Basics - Anfänger-Themen 3
vogella Cast from Collection.toArray to String[] Java Basics - Anfänger-Themen 2
K Verständnisfrage Collection, ArrayList und Referenzen Java Basics - Anfänger-Themen 4
S Mit Collection<int[]> umgehen Java Basics - Anfänger-Themen 2
S welche collection ? String und object Java Basics - Anfänger-Themen 5
M gibt es eine collection mit definierter maximaler größe Java Basics - Anfänger-Themen 4
G Collection Framework Java Basics - Anfänger-Themen 8
V Mehrdimensionale Collection? Java Basics - Anfänger-Themen 4
U JSTL: Collection auslesen mit forEach Java Basics - Anfänger-Themen 1
A Interface Collection implementieren? Java Basics - Anfänger-Themen 4
I Collection sortieren, ":" höchste "Priorität& Java Basics - Anfänger-Themen 4
P Äquivalent zu Visual Basic Collection Java Basics - Anfänger-Themen 6
G Collection, aber welche? Java Basics - Anfänger-Themen 6
A Collection<String> Java Basics - Anfänger-Themen 4
D Frage zu Collection.sort bzw. Comparator u. Comparable Java Basics - Anfänger-Themen 2
E Strings in Collection Java Basics - Anfänger-Themen 6
R welche Collection nehmen? Java Basics - Anfänger-Themen 4
P Collection Vector speichern mittels Serialisierung? Java Basics - Anfänger-Themen 2
megachucky Collection Vector: ausgabe klappt nicht richtig Java Basics - Anfänger-Themen 9
T Welche Collection nehmen? HashMap? Java Basics - Anfänger-Themen 4
L-ectron-X Speicher freigeben - Garbage Collection Java Basics - Anfänger-Themen 6
R Liste in Variable speichern Java Basics - Anfänger-Themen 6
R Liste und Arrays Java Basics - Anfänger-Themen 12
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben