#1 1. Januar 2011 von Array inhalt auf namen schließen Hallo Leute, ich lerne gerade eine Einführungssprache von Java und habe eine Programieraufgabe in der ein Array erzeugt wird mit 128 indexen. Der Array wird aber nicht wie gewöhnlich mit zahlen initialiesiert sonder so: Buchstaben: a['A'] = "65"; ... a['Z'] = "90"; Zahlen: a['0'] = "48"; ... a['9'] = "57"; Sonderzeichen: a['.'] = "47"; ... a['@'] = "64"; Also wird ein Array als char initialisiert (für Buchstaben, Zahlen und Sonderzeichen) mit einem Inhalt der ein String ist erzeugt (es muss ein String sein und keine Zahl also das ist alles die Vorgabe). Jeder Inhalt ist einmalig. wie kann ich vom Inhalt auf den char Namen des Arrays schließen? ich hab momentan das hier Code: for (char i = 'A'; i < 'Z'; i++) { if (m[i].equals(gesuchterString)) { Zeichen=i; } } Leider funktioniert das nur bei den Arraynamen von A-Z. Sonderzeichen gehen hier nicht. Könnt ihr mir helfen? Vielen Dank! + Multi-Zitat Zitieren
#2 1. Januar 2011 AW: von Array inhalt auf namen schließen Du musst dazu wissen, dass in Java Array-Indizes immer Integers sind. Hier wird zwar ein char angegeben, doch er wird wie ein Integer behandelt, indem der zugehörige ASCII-Wert verwendet wird. D.h. Code: a['A'] = "65"; ist nichts anderes als Code: a[65] = "65"; Da z.B. das @-Zeichen den Wert 64 hat, wird darüber natürlich auch nicht iteriert, wenn du von 'A' = 65 bis 'Z' = 90 gehst. + Multi-Zitat Zitieren
#3 1. Januar 2011 AW: von Array inhalt auf namen schließen wenn A 65 und Z 90 ist und "." 47, dann ist doch klar das der Punkt nicht gefunden wird? Code: for (char i = 65; i < 90; i++) { if (m[i].equals(gesuchterString)) { Zeichen=i; } } so sieht deine For-Schleife aus. Code: for (char i = 0; i < a.length; i++) { if (m[i].equals(gesuchterString)) { Zeichen=i; } } so sollte sie sein oder verstehe ich hier was falsch? + Multi-Zitat Zitieren
#4 1. Januar 2011 AW: von Array inhalt auf namen schließen Code: for(String currentItem : m) { } Das Problem hierbei ist nur, das du den Index nicht bekommst. Aber für eine reine Iteration ist dies die beste Möglichkeit. Gruß + Multi-Zitat Zitieren
#5 1. Januar 2011 AW: von Array inhalt auf namen schließen Danke schonmal für eure hilfreichen antworten! Code: for (char i = 0; i < a.length; i++) { if (m[i].equals(gesuchterString)) { Zeichen=i; } } ich wusste gar nicht das man das machen kann mit char i ^^... dachte hier müsste ich dann i als int initialisieren. Es geht so jedenfalls wunderbar! @wollknoll: ich weiß leider nicht was eine Iteration ist und hab es jetzt schon so hinbekommen. Werde ich wohl auch so lassen - du musst wissen ich bin anfänger. BW ist natürlich das mindeste.. LG + Multi-Zitat Zitieren
#6 2. Januar 2011 AW: von Array inhalt auf namen schließen iteration ist die wiederholung Code: for(String currentItem : a) { } Diese For Schleife geht jedes Element vom Array a durch und weißt dieses der Variable currentItem zu. Also beim ersten durchgang ist currentItem = a[0] beim 2. currentItem = a[1] usw. nur das eben keine Zählvariable existiert die du nutzen kannst. Was in manchen Fällen eben auch gar nicht benötigt wird. Dann macht man das eben so. + Multi-Zitat Zitieren