ich bin noch ziemlicher Java-Anfänger und neu hier, also seht es mir bitte nach, wenn ich was falsch mache (;
Wir haben eine kleine Tabelle mit Übersetzungen von Wörtern in "Leet"-Wörter bzw. einzelnen Buchstaben in "Leet"-Buchstaben vorgegeben bekommen, z.B. "elite" wird zu "1337" oder "ck" zu "xx". Nun sollten wir zuerst eine Methode implementieren, die die vorgegebenen Übersetzungen eines "normalen" Wortes in "Leet" realisiert. Ich hab das also so bewerkstelligt:
Ich denke eigentlich, dass das soweit korrekt ist.
Aber bei der zweiten Teilaufgabe komm ich nicht weiter. Man soll eine Methode String[] allToLeet(String[] normals) implementieren, die alle Elemente des gegebenen "Normal"-Arrays in "Leet" übersetzt und ein neues Array mit den übersetzten Vokabeln zurückgibt. Man soll zur Konvertierung eine for-Schleife und die oben angefertigte Übersetzungsmethode benutzen. Bis jetzt habe ich folgenden Code:
Java:
publicString[] allToLeet (String[] normals){String normal ="";String[] converteds =newString[10];for(int i =0; i <= normals.length; i++){
normal = normals[i];
converteds[i]=toLeet(normal);}return converteds;}
Vielleicht könnt ihr mir ja helfen, denn es gibt noch eine dritte Teilaufgabe, die auf den ersten beiden aufbaut.
Vielen Dank!
publicString[] allToLeet (String[] normals){String[] converteds =newString[normals.length];// nicht fixed, sondern abhängig von normalsfor(int i =0; i < normals.length; i++){// immer von 0 bis < length
converteds[i]=toLeet(normals[i]);// kannst du direkt zuweisen}return converteds;}
Vielen Dank für eure schnellen und hilfreichen Antworten. Noch eine kleine Frage: Wenn ich jetzt in der Main-Methode ein Array, nennen wir es myArray, mit der Größe 2 erstelle und darin zwei Strings speichere, wie kann ich diese dann mit meiner "allToLeet" - Funktion "übersetzen"?
Ich dachte mir das so:
Java:
myArray =allToLeet(myArray);
Könntet ihr mir vllt. verraten, wie das funktioniert?
Das haben dir schon zwei Leute geschrieben (normaler Java 7 Stil), du musst den Quelltext schon lesen und minimal den Geist anstrengen bzw. es einfach ausprobieren.
Aber es geht mir doch nicht mehr um die Funktion "allToLeet" an sich, denn die hab ich ja nun fertig dank eurer Hilfe, sondern wie ich diese, meine eigene allToLeet-Funktion, in der Main Methode benutze. Ich kann nirgends finden wo steht, wie ich jetzt mit Hilfe dieser Methode ein konkretes Array übersetzen kann.
Tut mir leid, falls ichs übersehen hab, aber ich hab alles nochmal gründlich gelesen! Ich hab doch hingeschrieben, wie ichs machen würde, aber das funktioniert so nicht.
Java:
publicstaticvoidmain(String[] args){String[] myArray =newString[2];
myArray[0]="We are the elite!";
myArray[1]="It is cool!";
myArray =allToLeet(myArray);}
Warum soll das nicht funktionieren, der Code läuft ohne Fehler. Wenn du die übersetzten Strings auf der Konsole sehen möchtest musst du die schon selbst ausgeben.
Java:
publicstaticvoidmain(String...args){String translations[]=allToLeet(newString[]{"elite","cool!"});}
oder
publicstaticvoidmain(String...args){String originals[]=newString[]{"elite","cool!"};
originals =allToLeet(originals);}
Wenn ich es so schreibe: myArray = allToLeet(myArray);
steht in eclipse links daneben die Glühlampe mit Kreuz mit folgendem Hinweis:
Cannot make a static reference to the non-static method allToLeet(String[]) from the Type Leet.
Das Gleiche kommt bei der kompakteren Variante von nvidia.
Und mit diesem Hinweis kann ich leider noch nichts anfangen, also übersetzen kann ichs schon, aber was ich ändern muss, weiß ich nicht. Die Ausgabe auf der Konsole bekomm ich dann schon hin