Archiv verlassen und diese Seite im Standarddesign anzeigen : Arrays und so
Engel der Furcht
27.02.2013, 18:19
Hey ihr.
In der Schule habe ich im Moment ne Aufgabe, nen IBAN Rechner in Java zu programmieren.
Dazu möchte ich ein en Array verwenden, in dem alle LänderCodes(also "DE", "GB", "PL" etc.) und deren Wert ("DE" = 1314) drin gespeichert sind.
Ich hab eine Choice, wo man z.b. "DE" auswählen soll.
Ich habs einfach nicht so mit eigenen Datentypen erstellen (weil wir's so gut wie nie machen).
Jeder Index beim Array muss also 2 Werte z.b. DE und 1314 haben.
Hat jemand nen Plan? :P
Würden sich da nicht eher Hashmaps anbieten, anstatt Arrays?
Ja also eine HashMap oder ein enum. Da ländercodes ja ziemlich statisch sind bietet sich hier sowas auch an.
makenshi
27.02.2013, 19:29
Wo genau brauchst du denn Hilfe bei? Bei der Deklaration des Arrays?
Wenn du einfach ein mehrdimensionales Array willst:
String[][] arr = new String[10][2];
arr[0][0] = "DE";
arr[0][1] = "100";
arr[1][0] = "EN";
arr[1][1] = "200";
Dann wäre das ein Beispiel dafür.
Engel der Furcht
27.02.2013, 19:30
habt ihr dazu ein einfaches Beispiel? N00b und so~
makenshi
27.02.2013, 19:31
Map<String,Integer> data = new HashMap<String,Integer>();
data.put("DE", 100);
Bitte. Ich rate dir nur davon ab Datenstrukturen zu benutzen die dir nicht vollends klar sind.
Engel der Furcht
27.02.2013, 20:27
Vielen Dank.
Hab ein weiteres Problem:
private void addCountries()
{
int i = 0;
do
{
try
{
CountryCode.addItem(CountryCodeList[i][0]);
i = i + 1;
} catch (Exception ex)
{
}
} while (i == CountryCodeList.length);
}
Er fügt nur mein "DE" in die JComboBox ein, wenn ich ne Schleife mache.
Wenn ich sie einzeln, also mit
CountryCode.addItem(CountryCodeList[1][0]);
CountryCode.addItem(CountryCodeList[2][0]);
Etc.
funktioniert es.
Yes. Ich bin bescheuert. :D
muss natürlich != length.
Whiz-zarD
27.02.2013, 20:49
Für so was gibt es die HashMaps. Arrays sind da sehr suboptimal, aufgrund von Inkonsistenzen, und statischen Speicher. Das Array auch nicht wirklich sprechend.
Wieso legst du einen try-catch-Block um die addItem()-Methode? Diese Methode schmeißt eh keine Exception.
Eine Do-While-Schleife brauchst du hier auch nicht. Do-While-Schleifen findet man sowieso recht selten.
Java besitzt auch foreach-Schleifen (auch wenn sie nur als for-Schleife deklariert werden):
String[][] countryCodeList = new String[][]
{
{"DE", "100"}
, {"EN", "200"}
};
for (String[] countryCode : countryCodeList)
{
if (countryCode[0] != null)
{
System.out.println(countryCode[0]);
}
}
edit: Eine andere Möglichkeit wäre eine eigene Klasse für die Daten zu definieren:
public class CountryCode
{
private final String country;
private final String value;
public CountryCode(String country, String value)
{
this.country = country;
this.value = value;
}
public String getCountry()
{
return country;
}
public String getValue()
{
return value;
}
}
CountryCode[] countryCodeList = new CountryCode[]
{
new CountryCode("DE", "100")
, new CountryCode("EN", "200")
};
for (CountryCode countryCode : countryCodeList)
{
System.out.println(countryCode.getCountry());
}
Powered by vBulletin® Version 4.2.3 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.