Methode zum Heraufinden von Anagrammen ohne Java API, Ausnahme String

Z

zDieTaschenlampe

Aktives Mitglied
Hallo ,
wie ihr dem Titel entnehmen könnt geht es um eine Java Methode, die prüfen soll, ob 2 Wörter Anagramme sind und ja ich weiß, dass es dazu 10000 Beiträge gibt. Aber die Methode an sich ist ja nicht schwer, also ich habe es selber auch wie folgt hinbekommen :

Code:
public static boolean checkAnagram(String word1, String word2) {
        if (word1.length() != word2.length()) {
            return false;
        }
        char[] firstWord = word1.toCharArray();
        for (char c : firstWord) {
            int index = word2.indexOf(c);
            if (index != -1) {
                word2 = word2.substring(0, index) + word2.substring(index + 1, word2.length());
            } else {
                return false;
            }
        }
        return word2.isEmpty();
    }

ABER dann hab ich die Aufgabe nochmal gelesen und gesehen, dass man keine JAVA API mit Ausnahme von String benutzen darf und jetzt grübel ich, wie ich das bitte umsetzen soll. Also die erste If Abfrage meiner aktuellen Methode bleibt ja sicherlich, denn wenn 2 Wörter keine gleiche Wortlänge haben, dann kann es es auch kein Anagramm sein, aber der Part mit dem Char Array scheint mir suspekt und wird sicherlich nicht so angenommen als Lösung oder ? Hat jemand spontan eine Einfall wie ich das mithilfe von Strings abändern kann
 
temi

temi

Top Contributor
char ist ja ein primitiver Datentyp und toCharArray() eine Methode von String. Du kannst den String natürlich auch in byte zerlegen, aber byte ist ja ebenfalls ein primitiver Datentyp.
 
Z

zDieTaschenlampe

Aktives Mitglied
char ist ja ein primitiver Datentyp und toCharArray() eine Methode von String. Du kannst den String natürlich auch in byte zerlegen, aber byte ist ja ebenfalls ein primitiver Datentyp.
Also passt es doch wie ich es habe ? In der Aufgabe heißt es nur " Verwenden Sie selber für diese Aufgabe keine weiteren Klassen direkt aus der Java-API, mit Ausnahme von String. ". Und das verwirrt mich xD
 
MoxxiManagarm

MoxxiManagarm

Top Contributor
Also für mich sieht deine Lösung auf dem ersten Blick akzeptabel aus. Keine Java Api bedeudet nur du darfst nichts importieren. Das tust du doch nicht.

Edit:
Mögliche Alternativansätze (aber nicht besser):
- beide Strings sortieren und dann vergleichen
- Alle gültigen Zeichen iterieren, sie in beiden Strings zählen und jeweils die Anzahl vergleichen
 
Zuletzt bearbeitet:
temi

temi

Top Contributor
Du könntest evtl. anstatt des Arrays mittels charAt() auf die einzelnen Zeichen im String zugreifen. Die liefert allerdings auch ein char zurück.
 
MoxxiManagarm

MoxxiManagarm

Top Contributor
Ist eigentlich in deiner Aufgabenstellung was zur Case-Sensitivität erwähnt? Dein Code ist aktuell Case-Sensitiv.
 
MoxxiManagarm

MoxxiManagarm

Top Contributor
Case insensitivität liegt vor wenn eine Funktion 2 Strings "a" "A" gleich behandelt, d.h. es ist egal ob die Buchstaben im string klein oder groß sind
 
L

LMessi

Mitglied
d.h. es ist egal ob die Buchstaben im string klein oder groß sind
das ist falsch. Kleine oder große Buchstaben unterscheiden sich in ihrer Schriftgröße. Was du meinst ist sicherlich klein- und großgeschriebene Buchstaben.

Tipp:
Erst die Zeichen des einen Strings umdrehen, dann mit equalsIgnoreCase() vergleichen.
Java:
	public static boolean checkAnagram(String word1, String word2) {
		return new StringBuilder(word1).reverse().toString().equalsIgnoreCase(word2);
	}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
s_1895 zu viele Zeilen in der Main Methode Java Basics - Anfänger-Themen 4
M Rekursive Java-Methode Java Basics - Anfänger-Themen 13
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
B Methoden warum macht die Methode nicht das was ich erwarte? Java Basics - Anfänger-Themen 2
L Attribute aus Klasse in berechnungs Methode übergeben Java Basics - Anfänger-Themen 1
Y Aufruf von Methode nicht möglich. Java Basics - Anfänger-Themen 2
O Instanzattribut per Getter Methode zuweisbar, warum? Java Basics - Anfänger-Themen 3
C Größte Zahl aus einem Array ermitteln(als statische Methode) Java Basics - Anfänger-Themen 31
G Methoden Methode die aus einem Array ein Index ausgibt? Java Basics - Anfänger-Themen 2
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
P Methode die ausgibt wie viele Primzahlen es zwischen 2 und n gibt Java Basics - Anfänger-Themen 10
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
M negate Methode Java Basics - Anfänger-Themen 13
JavaClara Fehlermeldung bei split-Methode Java Basics - Anfänger-Themen 12
A Methode in einer anderen Klasse verwenden Java Basics - Anfänger-Themen 1
Eule25 Methode mit Array Java Basics - Anfänger-Themen 4
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
S HashMap contains() Methode Java Basics - Anfänger-Themen 1
F Methoden Methode richtig aufrufen Java Basics - Anfänger-Themen 3
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
JD_1998 Random Array sortieren mit Hilfe einer Methode Java Basics - Anfänger-Themen 4
T Methode implementieren Java Basics - Anfänger-Themen 21
JD_1998 Vorgegebene Methode erweitern um Hex -> Dezimal umzuwandeln Java Basics - Anfänger-Themen 1
A While Schleife - buubelsort methode Java Basics - Anfänger-Themen 2
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
X compareTo Methode wird ignoriert Java Basics - Anfänger-Themen 7
macle Rekursive String Methode, Gerade Zahlen rausfiltern Java Basics - Anfänger-Themen 10
B Wie kann ich etwas vor der Main-Methode ausführen? Java Basics - Anfänger-Themen 21
J Methode als Class anlegen Java Basics - Anfänger-Themen 7
K Übergabe von Werten (zweidimensionales Array) aus einer Methode an zweidimensionales Array in main() Java Basics - Anfänger-Themen 3
M this.object in einer parameterlosen Methode verwenden Java Basics - Anfänger-Themen 3
P Methode trim() ohne StringBuilder Java Basics - Anfänger-Themen 1
N Selection Algorithmus: Methode wird nicht erkannt (BlueJ) Java Basics - Anfänger-Themen 3
P Problem beim Überschreiben einer vererbten Methode Java Basics - Anfänger-Themen 4
B Methode für jede beliebe Entity erstellen Java Basics - Anfänger-Themen 7
O BiPredicate in einer forEach Methode Java Basics - Anfänger-Themen 10
B Klassen Abstrake Klasse und Template Methode Java Basics - Anfänger-Themen 4
parrot Array: Methode fügeHinzu Java Basics - Anfänger-Themen 13
B Eine Methode erstellen Java Basics - Anfänger-Themen 3
G Java charAt Methode Java Basics - Anfänger-Themen 10
B main Methode Java Basics - Anfänger-Themen 5
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
G Java LinkedList remove Methode Java Basics - Anfänger-Themen 5
L Wie greife ich in der Subklasse auf die Parameter einer Methode der Superklasse zu ? Java Basics - Anfänger-Themen 15
Bluedaishi Hilfe beim erklären dieser Methode Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
1 main-Methode erweitern, Nachfrage nach wiedeholung Java Basics - Anfänger-Themen 2
Y Methode + Parameters + Ein und Ausgabe Java Basics - Anfänger-Themen 1
L Variable von einer Methode zu einer anderen Methode inkl. einer "Zwischenmethode" Java Basics - Anfänger-Themen 1
G Java equals() Methode Java Basics - Anfänger-Themen 9
I Greedy Methode Methoden nutzen Java Basics - Anfänger-Themen 3
B Hilfe bei einer rekursiven Methode Java Basics - Anfänger-Themen 3
V Collections Methode in der Methode aufrufen Java Basics - Anfänger-Themen 2
A Implementierung von String toString methode() Java Basics - Anfänger-Themen 4
S Auf Methode einer anderen Klasse zugreifen Java Basics - Anfänger-Themen 3
B Get / Set - Methode für verschiedene Entities? (generisch) Java Basics - Anfänger-Themen 21
J main methode Java Basics - Anfänger-Themen 1
C Methode Seiten tauschen eines erstellten Rechtecks mit Seite A und B Java Basics - Anfänger-Themen 9
R Methode zwei Sortierkriterien der Klasse Comparator übergeben Java Basics - Anfänger-Themen 4
J Methoden set Methode array Java Basics - Anfänger-Themen 2
V Switch Methode macht Code kaputt Java Basics - Anfänger-Themen 18
P Methode die eigentlich einen Scanner benötigt mit toString() Java Basics - Anfänger-Themen 5
J Apache Poi - createCell() Methode akzeptiert keinen Index aus for-schleife als Parameter Java Basics - Anfänger-Themen 4
S Wann Methode abstract? Java Basics - Anfänger-Themen 10
L Objekt an Methode übergeben Java Basics - Anfänger-Themen 4
H Rekursiv Methode ausführen bei Kindern Java Basics - Anfänger-Themen 12
R Methode Rückgabe Java Basics - Anfänger-Themen 10
M Implementierung einer getNextId Methode Java Basics - Anfänger-Themen 5
bensdt Klasse erweitern um eine Methode "void decrement()" Java Basics - Anfänger-Themen 5
N Mit Objekt der Superklasse auf Methode der Subklasse zugreifen Java Basics - Anfänger-Themen 6
R Signatur einer Methode in JAVA Java Basics - Anfänger-Themen 4
B LinkedList add-Methode Java Basics - Anfänger-Themen 10
S Methode von vererbter Klasse, statt die der "Mutterklasse" aufrufen Java Basics - Anfänger-Themen 28
J Rekursive swapArray Methode Java Basics - Anfänger-Themen 69
Kirby.exe Methode aus Superklasse benutzen Java Basics - Anfänger-Themen 18
G Linked list, Methode zum Vertauschen von Elementen Java Basics - Anfänger-Themen 14
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
J Memory-Spiel Aktivierung der Methode mit Timer Java Basics - Anfänger-Themen 44
T Collections Methode (Knoten hinzufügen) für Graphen Java Basics - Anfänger-Themen 32
D ArrayQueue - enqueue Methode Java Basics - Anfänger-Themen 2
N Methode mit einer Arraylist Java Basics - Anfänger-Themen 106
I ArrayList - Methode zum Speichern eines Eintrags in einer Datei Java Basics - Anfänger-Themen 17
J Womit kann ich diese Methode testen? Java Basics - Anfänger-Themen 5
UnknownInnocent Methoden While-Schleife so lange ausführen, wie Methode etwas zurückgibt Java Basics - Anfänger-Themen 2
H Arraydaten aus einer anderen Methode ausgeben Java Basics - Anfänger-Themen 4
H Auf Objekte bzw Variabeln aus einer anderen Methode zugreifen Java Basics - Anfänger-Themen 7
H Objekt mit Methode erstellen Java Basics - Anfänger-Themen 6
X Methode bei mehrfachen Aufruf kein Effekt Java Basics - Anfänger-Themen 3
M Klassen Methode in anderer Klasse aufrufen? Java Basics - Anfänger-Themen 3
M Methode in anderer Klasse aufrufen Java Basics - Anfänger-Themen 5
E Was kommt in ein Objekt und was in die Main Methode? Java Basics - Anfänger-Themen 8
F Methode für Teilbarkeit durch 5 tut was anderes.... Java Basics - Anfänger-Themen 3
D java main methode kann nicht kompiliert werden (Erstellen eines Objekts) Java Basics - Anfänger-Themen 6
T Return einer anderen Methode herausfinden Java Basics - Anfänger-Themen 9
S Methode in der Klasse erstellen Java Basics - Anfänger-Themen 2
W OOP Objekt Methode Java Basics - Anfänger-Themen 9
B Array als Rückgabewert in der Methode Java Basics - Anfänger-Themen 1
E Methode soll andere Methode der selben Klasse aufrufen Java Basics - Anfänger-Themen 28
J Fragen zu einer Methode Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Anzeige


Oben