Tokenizer selbst implementieren

Sonnenblume123

Aktives Mitglied
Hallo,

ich soll einen Tokenizer implementieren ohne ein Scanner Generatortool zu nutzen. Dabei hab ich die Methode vorgegeben:
Java:
package scanner;

import java.util.*;


public class TokenScanner {

    public static List<String> functionScanner(String input) {
        List<String> results = new ArrayList<>();
        return results;
    }

Anschaulich an einem Testcase:
Java:
package scanner;

import static org.junit.jupiter.api.Assertions.*;
import java.util.*;

import java.util.List;

import org.junit.jupiter.api.Test;

class TokenScannerTest1 {

    @Test
    void test1() {
        List<String> list1 = Arrays.asList("if", "(","x", ">", "0", ")","{", "y",
                "<=", "7",";", "}");
        
        //TokenScanner test1 = new TokenScanner();
        List<String> results1 = TokenScanner.functionScanner("if (x >0){\ny<=  7;\n}");
        assertEquals(list1, results1);
        
        
    }
    
}

Kommen illegale Zeichen wie = statt <= vor so muss ILLEGAL in der results Liste nur drinstehen.

Ich will keine Lösung. Jedoch hab ich gerade nicht wirklich eine Idee, wie ich es umsetzen soll. Ich dachte zuerst an die split() Methode, aber die entfernt ja alle Übereinstimmungen aus dem String und das ist ja genau das Umgekehrte was ich machen will.

Freue mich über Ansätze:)
 

Tarrew

Top Contributor
Guck dir mal Lookaheads und Lookbehinds an. Damit kann man den Delimiter beim Splitten auch beibehalten.

Zum Beispiel:
Java:
System.out.println(Arrays.toString("if (x >0){\ny<=  7;\n}".split("((?<=\\W)|(?=\\W))")));

Dein Pattern etc. musst du dann an deine Anforderungen anpassen ;)

Alternativ kann sich auch ein Matcher ganz gut eignen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Tokenizer Java Basics - Anfänger-Themen 4
K String Tokenizer mehrere Trennzeichen Java Basics - Anfänger-Themen 5
F Tokenizer Java Basics - Anfänger-Themen 4
K Tokenizer: eins überspringen Java Basics - Anfänger-Themen 2
H Tokenizer funzt nicht Java Basics - Anfänger-Themen 3
C String Tokenizer Java Basics - Anfänger-Themen 8
T String beschneiden, Tokenizer und Substring bringen nix Java Basics - Anfänger-Themen 5
G Zahl die aus mehreren Integern zusammengesetzt per Tokenizer Java Basics - Anfänger-Themen 3
T String Tokenizer Java Basics - Anfänger-Themen 5
D String Tokenizer Probleme Java Basics - Anfänger-Themen 5
TRunKX String Tokenizer und seine folgen Java Basics - Anfänger-Themen 5
TRunKX String Tokenizer zähmen Java Basics - Anfänger-Themen 16
P String Tokenizer Java Basics - Anfänger-Themen 13
L String Tokenizer Java Basics - Anfänger-Themen 5
S Array aus Tokenizer Java Basics - Anfänger-Themen 14
M Rest mit Spring boot oder selbst anlegen Java Basics - Anfänger-Themen 14
B Hotkeys selbst definieren? Java Basics - Anfänger-Themen 1
berserkerdq2 An selbst ersteller txt Datei immer Text dranhängen, ohne den vorherign Text zu löschen Java Basics - Anfänger-Themen 8
J selbst erstellte Datei mit Programm öffnen Java Basics - Anfänger-Themen 10
J ArrayList add methode selbst programmieren Java Basics - Anfänger-Themen 10
CptK Generics: Klassen die Interface implementieren, aber selbst nicht das Interface sind Java Basics - Anfänger-Themen 8
ruutaiokwu Bluetooth-Zugriff, braucht es dazu plattformabhängige Libraries oder kann das Java mittlerweile selbst? Java Basics - Anfänger-Themen 10
I Klasse selbst fortlaufend nummerieren lassen Java Basics - Anfänger-Themen 11
U Hashmap Iterator selbst implementieren Java Basics - Anfänger-Themen 10
M WindowStateListener selbst implementieren Java Basics - Anfänger-Themen 8
G MapStruct Anwendung vom selbst geschriebenen Formater Java Basics - Anfänger-Themen 4
F Kindklassen sollen Ihre Methoden selbst implementieren Java Basics - Anfänger-Themen 5
G Objekt der selben Klasse wie selbst mit Aufrufen des Konstruktors erzeugen Java Basics - Anfänger-Themen 14
S Code richtig / besser machbar? (Nicht sicher, ob Code selbst falsch ist) Java Basics - Anfänger-Themen 4
B Wie kann ich eine Methode einer selbst erstellten Klasse statisch importieren? Java Basics - Anfänger-Themen 5
I TreePath selbst erstellen und expandPath Java Basics - Anfänger-Themen 6
O Werte selbst eintragen Java Basics - Anfänger-Themen 9
T Selbst erstellten Dateityp mit java Programm assoziieren? Java Basics - Anfänger-Themen 4
K Selbst renderndes Object auf null setzen Java Basics - Anfänger-Themen 1
M Eclipse startet nicht mehr (eclipse.exe beendet sich selbst)? Java Basics - Anfänger-Themen 5
D Exception selbst Implementieren Java Basics - Anfänger-Themen 1
E Array von Objekten einer selbst definierten Klasse mit eindeutigem Namen Java Basics - Anfänger-Themen 2
M Java Datei soll sich selbst löschen Java Basics - Anfänger-Themen 8
M Java Bukkit Plugin (selbst erstellt) Java Basics - Anfänger-Themen 9
S Listen Klasse selbst schreiben Java Basics - Anfänger-Themen 6
B Methoden Methode lässt sich nicht selbst aufrufen? Java Basics - Anfänger-Themen 3
H JFileChooser... dateispeicherpfad selbst aussuchen Java Basics - Anfänger-Themen 4
L Klassen Kann eine Klasse sich selbst returnen? Java Basics - Anfänger-Themen 26
T methode ruft sich selbst auf Java Basics - Anfänger-Themen 28
J importieren von selbst definierten klassen Java Basics - Anfänger-Themen 10
M JButton selbst nachprogrammieren Java Basics - Anfänger-Themen 3
J selbst erstellte Hashtabelle -- Warum Exception? Java Basics - Anfänger-Themen 3
K indexOf selbst rekursiv definieren Java Basics - Anfänger-Themen 4
M selbst gezipptes File lässt sich nicht öffnen Java Basics - Anfänger-Themen 2
S Deserialisieren auf sich selbst Java Basics - Anfänger-Themen 4
Developer_X JButton removt sich selbst Java Basics - Anfänger-Themen 32
G isEmpty selbst realisieren Java Basics - Anfänger-Themen 47
R Ein/Ausleseproblem von Datei mit selbst erstellten Objekten Java Basics - Anfänger-Themen 10
M "Selbst erstellte" Buttons nicht sichtbar. Java Basics - Anfänger-Themen 20
D Bei Event soll Instanz sich selbst löschen Java Basics - Anfänger-Themen 4
K Wieso schaltet meine CheckBox von selbst um ? Java Basics - Anfänger-Themen 31
F JOptionPane selbst programmieren Java Basics - Anfänger-Themen 8
E Eine Klasse hat eine Instanz von sich selbst. Java Basics - Anfänger-Themen 6
L vor- und zurückblättern selbst gemacht Java Basics - Anfänger-Themen 18
G Button selbst entwerfen Java Basics - Anfänger-Themen 9
G Mit "instanceof" sich selbst Fragen? Java Basics - Anfänger-Themen 4
G Array von selbst-definiertem Typ Java Basics - Anfänger-Themen 3
R Comparable Interface Funktionalität selbst programmieren? Java Basics - Anfänger-Themen 3
B Programm sich selbst neu starten lassen Java Basics - Anfänger-Themen 8
D Thread soll sich selbst beenden Java Basics - Anfänger-Themen 8
G Objektarray mit sich selbst rekombinieren Java Basics - Anfänger-Themen 5
B Objekt soll sich selbst löschen Java Basics - Anfänger-Themen 25
K Vector mit sich selbst vergleichen Java Basics - Anfänger-Themen 2
rambozola selbst definierte exception abfangen funzt nicht Java Basics - Anfänger-Themen 14
Maxq Klassen Actionen in Button implementieren Java Basics - Anfänger-Themen 6
A LinkedList implementieren Java Basics - Anfänger-Themen 32
_so_far_away_ Inventarisierungssystem brauche switch Cases und weiß nicht, wie ich e implementieren muss Java Basics - Anfänger-Themen 5
new_to_coding Rekursive Reihe implementieren Java Basics - Anfänger-Themen 1
HolyFUT Javax Websocket API implementieren Java Basics - Anfänger-Themen 14
J Interface Interface korrekt implementieren Java Basics - Anfänger-Themen 5
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
P9cman Ampel in Java implementieren Java Basics - Anfänger-Themen 3
districon Generics implementieren Java Basics - Anfänger-Themen 2
W UML Diagramm implementieren Java Basics - Anfänger-Themen 2
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
R Taxistand Implementieren Java Basics - Anfänger-Themen 1
Gaudimagspam BMI in Java implementieren Java Basics - Anfänger-Themen 38
T Methode implementieren Java Basics - Anfänger-Themen 21
R Implementieren einer iterativen und rekursiven Klassenmethode. Java Basics - Anfänger-Themen 1
L Methode implementieren, Parameter die übergeben werden sind final Java Basics - Anfänger-Themen 4
J alternierendes Probing-Verfahren für Hash-Tabellen implementieren Java Basics - Anfänger-Themen 0
B UML-Klassendiagram get und set implementieren Java Basics - Anfänger-Themen 2
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
E Klassen implementieren Java Basics - Anfänger-Themen 94
C Telefonliste mit interface implementieren Java Basics - Anfänger-Themen 30
L Klassen Kann eine Unterklasse einer abstrakten Klasse ein Interface implementieren? Java Basics - Anfänger-Themen 2
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
J Algorithmus für eine Reihe implementieren Java Basics - Anfänger-Themen 2
pkm Interface Funktionales Interface lässt sich nicht implementieren. Java Basics - Anfänger-Themen 2
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
N Stacks und Queues Implementieren Java Basics - Anfänger-Themen 2
R Listen richtig implementieren Java Basics - Anfänger-Themen 3
Shizmo Methoden Formel besser implementieren Java Basics - Anfänger-Themen 8
X Polynome implementieren Java Basics - Anfänger-Themen 3
O Methoden implementieren, Sichtbarkeiten, Brüche Java Basics - Anfänger-Themen 104

Ähnliche Java Themen

Neue Themen


Oben