einfache Leet-Übersetzung implementieren und benutzen

GRHM93

Mitglied
Hallo alle zusammen,

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:

Java:
public static String toLeet (String normal) {
		
		String leet;
		
		leet = normal.replace("elite", "1337");
		leet = leet.replace("cool", "k3wl");
		leet = leet.replace("!", "!!!11");
		leet = leet.replace("ck", "xx");
				
		return leet;
}

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:
public String[] allToLeet (String[] normals) {
		
		String normal = "";
		String[] converteds = new String[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!

Gruß GRHM93
 

javampir

Bekanntes Mitglied
hi,
du könntest statt
Java:
String[] converteds = new String[10];
schreiben:
Java:
String[] converteds = new String[normals.length];
dann haben die array gleiche längen.
und in deiner schleife musst schreiben:
Java:
for (int i = 0; i < normals.length; i++) {
bei <= bekommst du früher oder später eine ArrayindexOutOfBoundsException.
Der Ansatz ist allerdings genau richtig (finde ich :) ).
javampir
 

njans

Top Contributor
Java:
    public String[] allToLeet (String[] normals) {
           
            String[] converteds = new String[normals.length]; // nicht fixed, sondern abhängig von normals
           
            for (int i = 0; i < normals.length; i++) { // immer von 0 bis  < length
                converteds[i] = toLeet(normals[i]); // kannst du direkt zuweisen
            }
           
            return converteds;
    }
 

JCODA

Top Contributor
Java:
package snippet;

import java.util.Arrays;
import java.util.stream.Collectors;

public class Snippet {

	public static String toLeet(String normal) {

		String leet;

		leet = normal.replace("elite", "1337");
		leet = leet.replace("cool", "k3wl");
		leet = leet.replace("!", "!!!11");
		leet = leet.replace("ck", "xx");

		return leet;
	}

	public String[] allToLeet(String[] normals) { // So sollte es gehen
		String[] converteds = new String[normals.length];
		for (int i = 0; i < normals.length; i++) {
			converteds[i] = toLeet(normals[i]);
		}
		return converteds;
	}

	public String[] allToLeet2(String[] normals) {
		// Java 8 (BONUSPUNKTE!!!einseinself) :D
		return Arrays.stream(normals).map(s -> toLeet(s))
				.collect(Collectors.toList())
				.toArray(new String[normals.length]);
	}

}
 

GRHM93

Mitglied
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?

Danke!
 

nvidia

Bekanntes Mitglied
Java:
[...]
	public String[] allToLeet2(String[] normals) {
		// Java 8 (BONUSPUNKTE!!!einseinself) :D
		return Arrays.stream(normals).map(s -> toLeet(s))
				.collect(Collectors.toList())
				.toArray(new String[normals.length]);
	}

Eher so

Java:
    public String[] allToLeet (String ... normals) {
        return Arrays
                .stream(normals)
                .map(Main::toLeet)
                .toArray(length -> new String[length]);
    }

[EDIT]static entfernt[/EDIT]
 
Zuletzt bearbeitet:

GRHM93

Mitglied
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:
public static void main(String[] args) {
		
		String[] myArray = new String[2];
		myArray[0] = "We are the elite!";
		myArray[1] = "It is cool!";
		
		myArray = allToLeet(myArray);
		
	}
 
Zuletzt bearbeitet:

nvidia

Bekanntes Mitglied
[...]hingeschrieben, wie ichs machen würde, aber das funktioniert so nicht.

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:
    public static void main(String...args){
        String translations[] = allToLeet(new String[]{"elite", "cool!"});
    }

    oder

    public static void main(String...args){
        String originals[] = new String[]{"elite", "cool!"};
        originals = allToLeet(originals);
    }
 
Zuletzt bearbeitet:

JCODA

Top Contributor
Eher so

Java:
    public String[] allToLeet (String ... normals) {
        return Arrays
                .stream(normals)
                .map(Main::toLeet)
                .toArray(length -> new String[length]);
    }

[EDIT]static entfernt[/EDIT]

Ahh, Danke! Ich hab toArray bei den Collectors gesucht und nicht gefunden, dann hab ich murks gemacht...
 

GRHM93

Mitglied
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 :)
 

nvidia

Bekanntes Mitglied
Wenn ich es so schreibe: myArray = allToLeet(myArray);
steht in eclipse links daneben die Glühlampe mit Kreuz mit folgendem Hinweis:

Ach so, dann mach die allToLeet-Methode static (so wie ich das zuerst hatte) oder erzeuge ein neues Objekt von Main und rufe daran allToLeet auf.


Java:
//Objekt von Main erzeugen
String originals[] = new String[]{"elite", "cool!"};
originals = new Main().allToLeet(originals);

Mal einen erstbesten Link Why non-static variable cannot be referenced from a static context? oder such nach der Fehlermeldung hier im Forum, die taucht bei Anfängern öfter auf und wurde schon beantwortet.
 
Zuletzt bearbeitet:

nvidia

Bekanntes Mitglied
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
monsterherz einfache Methode mit Fehler den ich nicht finde Java Basics - Anfänger-Themen 21
I Erste Schritte Einfache Datenbank-Webseite erstellen als Nicht-IT-lerin Java Basics - Anfänger-Themen 24
B Einfache OCR zur Zahlenerkennung? Java Basics - Anfänger-Themen 6
M Einfache Datenfilterung Java Basics - Anfänger-Themen 15
D Beim Programmieren auf die Logisch einfache Lösung kommen. Java Basics - Anfänger-Themen 17
H Einfache Frage zur Punktnotation objektname.methode(wert) Java Basics - Anfänger-Themen 2
B Einfache HSQLDB? (lock acquisition failure) Java Basics - Anfänger-Themen 2
B Threads Thread sleep() Method einfache Frage Java Basics - Anfänger-Themen 8
O Ganz einfache Frage - Array Java Basics - Anfänger-Themen 5
E Einfache Java Verschlüsselung Java Basics - Anfänger-Themen 4
J Einfache Frage zu "null" Java Basics - Anfänger-Themen 2
J Einfache pub/sub Lösung mit ausführlicher Doku Java Basics - Anfänger-Themen 5
R Gibt es Eine einfache Programierung dieser Methoden Java Basics - Anfänger-Themen 8
K einfache Kombinatorik Java Basics - Anfänger-Themen 4
M Erste Schritte Einfache Aufzugssteuerung programmieren - Anfänger Java Basics - Anfänger-Themen 2
D Eine einfache Verschlüsselung schreiben Java Basics - Anfänger-Themen 3
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
X Einfache Frage; wie soll ich die spezielle float var speichern? Java Basics - Anfänger-Themen 2
J Einfache einbindung eines Bildes in ein Applet Java Basics - Anfänger-Themen 4
D Klassen Gesucht: Einfache Beispiel-Klasse für einen Datentyp Java Basics - Anfänger-Themen 7
K Möglichkeiten um eine einfache Animation darzustellen Java Basics - Anfänger-Themen 7
L Einfache Lineare Suche Java Basics - Anfänger-Themen 7
P Erste Schritte Einfache For Schleife Java Basics - Anfänger-Themen 10
M Einfache Java Operation, cheggs net Java Basics - Anfänger-Themen 2
V Erste Schritte Einfache Rechnung mit Exponenten Java Basics - Anfänger-Themen 3
M Einfache und Doppelte Operatoren Java Basics - Anfänger-Themen 3
E Einfache For-Schleife macht nicht was sie soll Java Basics - Anfänger-Themen 2
shiroX OOP Türme von Hanoi - einfache grafische Ausgabe Java Basics - Anfänger-Themen 2
C Extrem einfache Aufgabe falsch beantwortet :$ Java Basics - Anfänger-Themen 6
Z Super einfache Frage For-Schleife im Detail Java Basics - Anfänger-Themen 3
N Potenzierung durch einfache Operatoren Java Basics - Anfänger-Themen 13
H Einfacher Editor, Einfache Handelsanweisungen Java Basics - Anfänger-Themen 2
H Sehr einfache Java-Programme Java Basics - Anfänger-Themen 24
H Einfache Client/Server-Kommunikation Java Basics - Anfänger-Themen 16
-horn- Einfache graphische Darstellung von 3D Koordinaten für Flugbahnen? Java Basics - Anfänger-Themen 4
B Einfache jsp Seite darstellen Java Basics - Anfänger-Themen 9
G Einfache if-Abfrage der Main-Argumente Java Basics - Anfänger-Themen 3
J Einfache Designfrage Java Basics - Anfänger-Themen 4
R Methoden Einfache Loops? Java Basics - Anfänger-Themen 8
E einfache Frage zu private Java Basics - Anfänger-Themen 26
R Sehr einfache möglichkeit ArrayList oder Array zu initialisieren? Java Basics - Anfänger-Themen 8
F Einfache Klassen für Datum und Zeit Java Basics - Anfänger-Themen 3
Spin Einfache Anfänger Frage setVisible von Panels Java Basics - Anfänger-Themen 5
E OOP einfache Array Aufgabe mit jUnit Java Basics - Anfänger-Themen 5
D einfache Quizfrage programmieren Java Basics - Anfänger-Themen 11
B Einfache Applets für Webseite Java Basics - Anfänger-Themen 10
K Einfache Rekursion - Wert wird nicht in Variable gespeichert Java Basics - Anfänger-Themen 7
U Einfache Aufgabe Java Basics - Anfänger-Themen 5
E Einfache Frage zur Parameterübergabe in Methoden Java Basics - Anfänger-Themen 8
M einfache Übungsaufgaben gesucht Java Basics - Anfänger-Themen 7
M Einfache Rechnung(R=U/I) Java Basics - Anfänger-Themen 12
D Wohl eine einfache Frage... Java Basics - Anfänger-Themen 2
W Einfache Passwortabfrage funktioniert nicht Java Basics - Anfänger-Themen 3
P einfache GUI-Elemente Java Basics - Anfänger-Themen 10
F Vererbung (einfache Frage) Java Basics - Anfänger-Themen 5
S 2 Einfache Fragen (Exception Breakpoint, Konstruktor) Java Basics - Anfänger-Themen 4
L einfache Klasse erstellen Java Basics - Anfänger-Themen 16
M kleine und einfache Verständnisfrage Java Basics - Anfänger-Themen 3
P Einfache Bedingung (?) in Java Java Basics - Anfänger-Themen 3
W Einfache Rekursion Java Basics - Anfänger-Themen 14
T Einfache Textausgabe .java unter OS X Java Basics - Anfänger-Themen 13
B einfache Rekursion Java Basics - Anfänger-Themen 9
A [Hilfe] einfache Aufgabe Java Basics - Anfänger-Themen 26
A Einfache java Verschlüsselung HILFE Java Basics - Anfänger-Themen 3
M einfache java application Java Basics - Anfänger-Themen 4
S Kann einfache Texteingabe nicht auswerten! Java Basics - Anfänger-Themen 3
M einfache frage zum Jdk-Compiler Java Basics - Anfänger-Themen 3
Spin einfache Frage zu Klassen Java Basics - Anfänger-Themen 12
J einfache Tastendrücke in einem JFrame abfragen Java Basics - Anfänger-Themen 2
C "einfache" If-Abfrage Java Basics - Anfänger-Themen 15
H Einfache Ausgabe eines Arrays in einen File Java Basics - Anfänger-Themen 8
F Einfache Liste hinten was einfügen Java Basics - Anfänger-Themen 3
L Einfache Umrechnung Java Basics - Anfänger-Themen 2
D Einfache Funktion zum kaufmännischen runden Java Basics - Anfänger-Themen 8
K einfache Multiplikation Java Basics - Anfänger-Themen 6
S Einfache Rechnung mit Schleife Java Basics - Anfänger-Themen 10
G einfache Swing-GUI Java Basics - Anfänger-Themen 3
F Einfache Tastatureingabe Java Basics - Anfänger-Themen 2
L [gelöst] Einfache Aufgabe, läuft aber nicht. Java Basics - Anfänger-Themen 8
S "einfache Klassengeschichten" keine Fehler, läuft Java Basics - Anfänger-Themen 2
R Einfache MVC-Uhr. MVC richtig umgesetzt? [Überarbeitet] Java Basics - Anfänger-Themen 5
A Einfache Frage zur Mehrfachvererbung Java Basics - Anfänger-Themen 3
G Einfache Berechnung liefert falsches Ergebnis Java Basics - Anfänger-Themen 2
J eine einfache liste Java Basics - Anfänger-Themen 17
D Suche einfache Übungsaufgaben für den JavaCreator! Java Basics - Anfänger-Themen 5
R Einfache Messagebox Java Basics - Anfänger-Themen 9
N einfache Adressdatenbank in Textdatei Java Basics - Anfänger-Themen 8
I einfache Wiedergabe Java Basics - Anfänger-Themen 2
B Warum hat dieser einfache Algorithmus lineare Laufzeit? Java Basics - Anfänger-Themen 3
U "Einfache Verschlüsselung" Java Basics - Anfänger-Themen 17
K einfache Umfang und Flächenberechnung mit interfaces Java Basics - Anfänger-Themen 3
M Einfache HTML Mail versenden , suche Beispiel Java Basics - Anfänger-Themen 5
L MVC-einfache frage Java Basics - Anfänger-Themen 13
M einfache schleife Java Basics - Anfänger-Themen 7
M Einfache Schleife Java Basics - Anfänger-Themen 4
V Übersetzen in Leet Java Basics - Anfänger-Themen 3
R Übersetzung von Secondary Cursor Java Basics - Anfänger-Themen 7
Silas89 Übersetzung Fehlermeldung Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben