Automat-Programmierung

FinnJ

Mitglied
Hallo,
erstmal hoffe ich, dass "Java Basics" das richtige Forum für meine Frage ist. Bitte darauf hinweisen, falls dem nicht so ist. Ich programmiere derzeit einen ganz simplen Automaten, der die Methode "zeichenkettePruefen" besitzt, welche für die Zeichenkette "10" true ausgeben soll und für alle anderen Zeichenketten false. Nach meiner Logik müsste der Automat auch funktionieren, da ich keinen Fehler finden kann und schon einiges ausprobiert habe (bin Anfänger, also wahrscheinlich gibt es da schon noch Dinge die ich probieren könnte).
Das ist mein Quellcode:

Java:
[/B]
public class AUTOMAT{
    int zustand;

    AUTOMAT(){
        zustand = 0;
        // System.out.println("Zeichenketten müssen exakt 2 Ziffern enthalten und aus 0 und 1 bestehen");
    }

    public boolean zeichenkettePruefen(String eingabe){
        // zustand = 0;

        for (int i = 0; i < eingabe.length(); i++){
            switch(zustand){
                case 0:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 1;
                        break;
                        case '0':
                        zustand = 3;
                        break;
                }
               
                case 1:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 3;
                        break;
                        case '0':
                        zustand = 2;
                        break;
                }
               
                case 2:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 3;
                        break;
                        case '0':
                        zustand = 3;
                        break;
                }
               
                case 3:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 3;
                        break;
                        case '0':
                        zustand = 3;
                        break;
                }
            }
            eingabe = eingabe.substring(1);
        }

        if (zustand == 2){
            return true;
        }
        else{
            return false;
        }
    }
}  
[B]

Vielen Dank schonmal im Vorraus!
FinnJ
 

Jw456

Top Contributor
Wenn der String nur aus zwei zeichnen bestehen kann. Dann prüfe das doch einfach mit einem if ob es genau „10“ ist.
Und nicht so kompliziert.
 

Robertop

Bekanntes Mitglied
Bei dem äußeren Switch (also das Zustand-Switch) gibt es keine break; Anweisungen, deswegen führt er wahrscheinlich immer zu viel Code aus.
 

FinnJ

Mitglied
Bei dem äußeren Switch (also das Zustand-Switch) gibt es keine break; Anweisungen, deswegen führt er wahrscheinlich immer zu viel Code aus.
Da müsste ich also nach
Java:
case 0:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 1;
                        break;
                        case '0':
                        zustand = 3;
                        break;
                }
jedes mal ein "break;" dazuschreiben? Werde ich direkt versuchen!

UPDATE:

Java:
public class AUTOMAT{
    int zustand;

    AUTOMAT(){
        zustand = 0;
        // System.out.println("Zeichenketten müssen exakt 2 Ziffern enthalten und aus 0 und 1 bestehen");
    }

    public boolean zeichenkettePruefen(String eingabe){
        // zustand = 0;

        for (int i = 0; i < eingabe.length(); i++){
            switch(zustand){
                case 0:
                switch(eingabe.charAt(0)){
                    case '1':
                    zustand = 1;
                    break;
                    case '0':
                    zustand = 3;
                    break;
                }
                break;
                case 1:
                switch(eingabe.charAt(0)){
                    case '1':
                    zustand = 3;
                    break;
                    case '0':
                    zustand = 2;
                    break;
                }
                break;
                case 2:
                switch(eingabe.charAt(0)){
                    case '1':
                    zustand = 3;
                    break;
                        case '0':
                        zustand = 3;
                        break;
                }
                break;
                case 3:
                    switch(eingabe.charAt(0)){
                        case '1':
                        zustand = 3;
                        break;
                        case '0':
                        zustand = 3;
                        break;
                }
                break;
            }
            eingabe = eingabe.substring(1);
        }

        if (eingabe == "10"){
                System.out.println("true");
            }
        else {
            System.out.println("false");
        }
        if (zustand == 2){
            return true;
        }
        else{
            return false;
        }
    }
}

Habe es jetzt so versucht, hat leider nicht geholfen :/ Es kann aber auch sein, dass ich das falsch verstanden habe ^^
 
Zuletzt bearbeitet:

FinnJ

Mitglied
Wenn der String nur aus zwei zeichnen bestehen kann. Dann prüfe das doch einfach mit einem if ob es genau „10“ ist.
Und nicht so kompliziert.
Stimmt, das könnte ich mal versuchen

UPDATE:
Java:
if (eingabe == "10"){
                return true;
            }
            else {
                return false;
            }

Es kommt wirklich "10" beim Programm an, denn ich habe den Code mal mit dieser if-Abfrage ersetzt um das zu überprüfen, leider weiß ich nicht genau wie ich das sonst überprüfen könnte, da ich ja durch das "charAt(0)" und das "substring(1)" die Zeichenkette kürze.
 
Zuletzt bearbeitet:

FinnJ

Mitglied
da gibt es ja nur 4 möglichkeiten
du willst und brauchst ja nur die eine
Ja, ich wollte nur kurz überprüfen, ob ich es schaffe einen Automaten zu programmieren, deshalb habe ich diese möglichst simple Anweisung eingefügt. Das wird vom Automaten ja auch nicht direkt verlangt nur ich wollte das nicht auch noch coden, dass der Automat nur derartige Zeichenketten annimmt und habe eher den "Hauptteil" des Programms testen wollen
 

FinnJ

Mitglied
Was genau macht dein Automat denn grade falsch? Gibt er das falsche Ergebnis aus oder kommt eine Exception?
Der Automat gibt mir gerade immer false aus, auch wenn ich "10" eingebe, er kommt irgendwie nie in den zustand 2 bzw. bleibt er dort nicht. Mir ist gerade eingefallen ist könnte das dokumentieren und nach jeder zustandsänderung mir mit System.out.println ausgeben lassen in welchen zustand er gewechselt ist. Werde ich nach dem Essen mal probieren und dann erzählen auf was für ein ergebnis ich kam.
 

stg

Top Contributor
Probier's mal mit dem debugger, anstatt irgendwelcher SysOut Ausgaben ... damit zu arbeiten üben kann man nicht früh genug beginnen
 

Robertop

Bekanntes Mitglied
Ach, jetzt sehe ich das Problem. :)
Du machst am Ende der For-Schleife immer eingabe = eingabe.substring(1); und die For-Schleife überprüft Anhand der Länge, ob sie noch weiterlaufen soll oder fertig ist. Beim zweiten Durchlauf ist die Länge von eingabe dann 1 und die For-Schleife, die jetzt auch bei 1 ist, denkt, sie ist fertig.

PS: Ich glaube trotzdem noch, dass da die breaks fehlen.
 

KonradN

Super-Moderator
Mitarbeiter
Also bitte immer vernünftig einrücken! Die switch Anweisungen lassen sich so ja nur seh schwer lesen! Also am Besten eine IDE nutzen, die das direkt für dich erledigt. Der Code aus #5 sieht dann derzeit so aus:
Java:
    public boolean zeichenkettePruefen(String eingabe){
        // zustand = 0;

        for (int i = 0; i < eingabe.length(); i++){
            switch(zustand){
                case 0:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 1;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
                case 1:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 2;
                            break;
                    }
                    break;
                case 2:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
                case 3:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
            }
            eingabe = eingabe.substring(1);
        }

        if (eingabe == "10"){
            System.out.println("true");
        }
        else {
            System.out.println("false");
        }
        if (zustand == 2){
            return true;
        }
        else{
            return false;
        }
    }
 

KonradN

Super-Moderator
Mitarbeiter
Und damit sieht man dann besser: die fehlenden break sind da. Aber das if Statement ist so natürlich Unsinn:
Code:
eingabe == "10"
wird immer false sein. Strings vergelicht man mit equals und nicht mit ==.

Mit == würde nur die Referez verglichen und nicht der Inhalt.

Edit: Das "immer falsch" muss man evtl, konkretisieren. Es ist natürlich nicht falsch, wenn die Referenz gleich ist. Das wäre z.B. der fall, wenn eingabe auch das String Literal "10" enthält oder es (per String.intern) ein String im String Pool wäre. Aber wenn eingabe ein Ergebnis aus substring oder einer User Eingabe ist, dann ist dies nicht der Fall!
 
Zuletzt bearbeitet:

Jw456

Top Contributor
Du versuchst ja eigentlich deine Duale Zahl als String in Dezimal zu wandeln.
Eine „00“ sollte ein „zustand“ = 0 ergeben was es zb. nicht tunt.

Schaue noch mal nach wie man Duale Zahlen in Dezimal umformt-
 

KonradN

Super-Moderator
Mitarbeiter
Du versuchst ja eigentlich deine Duale Zahl als String in Dezimal zu wandeln.
Wo erkennst Du das am Automat?

Der Automat hat einen Endstatus 3, zu dem fast alle Wege führen.

Einzige Ausnahmen sind:
"1" -> Status 1
"10" -> Status 2

Der ganze Automat prüft aber am Ende nur ein Status 2 oder nicht, so dass es auf ein eingabe.equals("10") hinaus läuft. Die 10 ist im dualen Sytsem der Wert 2, aber dennochist das keine Umwandlung von Zahlen, denn die "0" ist keine 3 oder die "111" ist keine 3 oder die "1111111111" ist keine 3. Der Zustand ist also nicht der Wert des Strings als duale Zahl. Das trifft nur durch Zufall für die Zustände 1 und 2 zu.
 

Jw456

Top Contributor
Der ganze Automat prüft aber am Ende nur ein Status 2 oder nicht, so dass es auf ein eingabe.equals("10") hinaus läuft. Die 10 ist im dualen Sytsem der Wert 2, aber dennochist das keine Umwandlung von Zahlen, denn die "0" ist keine 3 oder die "111" ist keine 3 oder die "1111111111" ist keine 3. Der Zustand ist also nicht der Wert des Strings als duale Zahl. Das trifft nur durch Zufall für die Zustände 1 und 2 zu.
das ist klar. er wird das aber versucht haben, und hoffte das es so geht mit dem Umwandeln.
sonst hätte er nicht genau 4 erste Cases, und würde am ende nicht auf 2 "10" prüfen.

das der code das nicht macht ist klar.

if (zustand == 2){
 

Jw456

Top Contributor
if (eingabe == "10"){
System.out.println("true");
}
//Strings vergleicht man mit equals nicht mit ==

if (eingabe.equals("10")){
 
Zuletzt bearbeitet:

KonradN

Super-Moderator
Mitarbeiter
Aber der Automat funktioniert immer noch nicht. Das Problem ist auch relativ einfach zu erkennen. Das Erkennen wir nur erschwert, da der Code einfach viel zu groß und unübersichtlich ist. Daher mein genereller Tipp:
a) Aufschreiben des Algorithmus
b) Umsetzen des Algorithmus

Dabei:
a) gute Namen verwenden für alle Bezeichner!
b) Keine "magic Numbers" verwenden.

Bei dir ist das große Problem, dass Du die 0 als Magic Number hast und diese an einer Stelle auftaucht, bei der Du dann etwas machst, dass Du nicht machen willst: eingabe.charAt(0)

er wird das aber versucht haben
Das sehe ich nicht so. Es geht einfach nur um einen Automat, der bei der Eingabe von "10" true zurück geben soll:
welche für die Zeichenkette "10" true ausgeben soll

Daher halte ich das für weiter hergoholt. Dass die Zeichenkette "10" in einem Zustand 2 landet, ist dabei zufall und schlicht Ergebnis eines schlecht benannten Zustandes. (Die würde ich halt auch ordentlich benennen).
 

Jw456

Top Contributor
Daher halte ich das für weiter hergoholt. Dass die Zeichenkette "10" in einem Zustand 2 landet, ist dabei zufall und schlicht Ergebnis eines schlecht benannten Zustandes. (Die würde ich halt auch ordentlich benennen).
ich nicht. Das scheint sein Ziel gewesen zu sein sonnst hätte er es nicht au 2 zu prüfen versucht.
 

FinnJ

Mitglied
Also bitte immer vernünftig einrücken! Die switch Anweisungen lassen sich so ja nur seh schwer lesen! Also am Besten eine IDE nutzen, die das direkt für dich erledigt. Der Code aus #5 sieht dann derzeit so aus:
Java:
    public boolean zeichenkettePruefen(String eingabe){
        // zustand = 0;

        for (int i = 0; i < eingabe.length(); i++){
            switch(zustand){
                case 0:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 1;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
                case 1:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 2;
                            break;
                    }
                    break;
                case 2:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
                case 3:
                    switch(eingabe.charAt(0)){
                        case '1':
                            zustand = 3;
                            break;
                        case '0':
                            zustand = 3;
                            break;
                    }
                    break;
            }
            eingabe = eingabe.substring(1);
        }

        if (eingabe == "10"){
            System.out.println("true");
        }
        else {
            System.out.println("false");
        }
        if (zustand == 2){
            return true;
        }
        else{
            return false;
        }
    }
Habe ich immer wieder gemacht, leider rückt BlueJ sobald ich das "Automatisch Einrücke" das alles sehr unschön ein. :/
 

FinnJ

Mitglied
@FinnJ
erkläre uns doch mal deinen Algorithmus den du machen wolltest.
In kurzen Worten
Der Algorhytmus sollte letztendlich nur überprüfen, ob ich "10" eingebe oder eine andere Zahl. Nur bei der Eingabe "10" sollte er true zurückgeben, ansonsten false. Sollte einfach nur ein Versuch sein einen extrem simplen Automaten zu erstellen, damit ich mich da bisschen "reinfinde".
 

KonradN

Super-Moderator
Mitarbeiter
Habe ich immer wieder gemacht, leider rückt BlueJ sobald ich das "Automatisch Einrücke" das alles sehr unschön ein. :/
Ach je - mit BlueJ kenne ich mich nicht aus, ob man das evtl. bsser konfiguriren kann. Eine andere IDE ist nicht verwendbar (IntelliJ, Eclipse, Netbeans)?

Aber das sind nur Nebenschauplätze, so wie dein if zur Kontrolle, das immer false ausgegeben hat.

Das Problem war zuerst, dass er im Switch "durchgefallen" ist. Ohne break führt er den nächsten Abschnitt halt auch aus.
Und dann, dass Du immer nur das erste Zeichen auswertest und nicht das Zeichen, an dessen Stelle Du gerade mit der While-Schleife warst.

Aber diese Nebenschauplätze sind wichtig. Ich würde da ggf. sogar viel mehr Unterteilen und dabei die Namen ordentlich wählen. Ich kann mal eben ein kleines Refactoring machen um Dir das aufzuzeigen, wie es dann besser aussehen könnte. Wichtig ist: Die Fehler hast Du beide verstanden?
 

FinnJ

Mitglied
Ach, jetzt sehe ich das Problem. :)
Du machst am Ende der For-Schleife immer eingabe = eingabe.substring(1); und die For-Schleife überprüft Anhand der Länge, ob sie noch weiterlaufen soll oder fertig ist. Beim zweiten Durchlauf ist die Länge von eingabe dann 1 und die For-Schleife, die jetzt auch bei 1 ist, denkt, sie ist fertig.

PS: Ich glaube trotzdem noch, dass da die breaks fehlen.
Da fühl ich mich jetzt bisschen blöd. Daran lags tatsächlich😂 Jetzt funktioniert der Automat einwandfrei
Vielen Dank für eure Hilfe! Euch noch einen schönen Tag
 

Jw456

Top Contributor
Der Algorhytmus sollte letztendlich nur überprüfen, ob ich "10" eingebe oder eine andere Zahl. Nur bei der Eingabe "10" sollte er true zurückgeben, ansonsten false. Sollte einfach nur ein Versuch sein einen extrem simplen Automaten zu erstellen, damit ich mich da bisschen "reinfinde".
Code:
public boolean zeichenkettePruefen(String eingabe){
    
if (eingabe.equals("10")){
     
             return true;
        }
        else{
            return false;
        }
    }
        }

würde da reichen.
 

FinnJ

Mitglied
Ach je - mit BlueJ kenne ich mich nicht aus, ob man das evtl. bsser konfiguriren kann. Eine andere IDE ist nicht verwendbar (IntelliJ, Eclipse, Netbeans)?

Aber das sind nur Nebenschauplätze, so wie dein if zur Kontrolle, das immer false ausgegeben hat.

Das Problem war zuerst, dass er im Switch "durchgefallen" ist. Ohne break führt er den nächsten Abschnitt halt auch aus.
Und dann, dass Du immer nur das erste Zeichen auswertest und nicht das Zeichen, an dessen Stelle Du gerade mit der While-Schleife warst.

Aber diese Nebenschauplätze sind wichtig. Ich würde da ggf. sogar viel mehr Unterteilen und dabei die Namen ordentlich wählen. Ich kann mal eben ein kleines Refactoring machen um Dir das aufzuzeigen, wie es dann besser aussehen könnte. Wichtig ist: Die Fehler hast Du beide verstanden?
BlueJ haben wir leider in der Schule immer verwendet.. bin auch kein großer Fan davon aber jetzt kurz vorm Abi will ich mir nicht mehr IntelliJ z.B. aneignen weil das ja doch ein paar Unterschiede aufweist.

Ja, habe beide Probleme verstanden! Vielen Dank für die hilfreichen Antworten und noch einen schönen Tag
 

FinnJ

Mitglied
Code:
public boolean zeichenkettePruefen(String eingabe){
   
if (eingabe.equals("10")){
    
             return true;
        }
        else{
            return false;
        }
    }
        }

würde da reichen.
Stimmt, aber ich wollte das als Automat ausführen, weil ich die Theorie eines Automaten verstehen und lernen will, da im Abitur teilweise Aufagben dazu drankommen und ich diese switch-Methode davor nicht wirklich verstanden habe.
 

KonradN

Super-Moderator
Mitarbeiter
Da fühl ich mich jetzt bisschen blöd. Daran lags tatsächlich😂 Jetzt funktioniert der Automat einwandfrei
Vielen Dank für eure Hilfe! Euch noch einen schönen Tag
Ach, die Logik war bei Dir, dass Du das erste Zeichen immer weggeommen hast. Statt der ständigen Veränderung der Eingabe hättest Du immer den Index nehmen können. Das ist aus meiner Sicht eher die übliche Vorgehensweise, da Du so weniger verändern musst.

Der versprochene strukturierte Aufbau, wie ich ihn wählen würde (in einem ersten Schritt) wäre sowas:
Java:
/**
 * Automat zur Prüfung der Zeichenkette "10".
 */
public class ZeichenkettePrüfenAutomat {

    public static final char TOKEN_ZERO = '0';
    public static final char TOKEN_ONE = '1';

    private enum State { START, FIRST_CHAR_VALID, VALID, INVALID}

    State state = State.START;

    
    public boolean checkString(String input) {

        for (int index = 0; index < input.length(); index++) {
            handleToken(input.charAt(index));
        }

        return state == State.VALID;
    }

    private void handleToken(char token) {
        switch (state) {

            case START:
                handleTokenAtSTART(token);
                break;

            case FIRST_CHAR_VALID:
                handleTokenAtVALID(token);
                break;

            case VALID:
                handleTokenAtVALID(token);
                break;

            case 3:
                handleTokenAtINVALID(token);
                break;
        }
    }

    private void handleTokenAtSTART(char token) {
        switch (token) {
            case TOKEN_ONE:
                state = State.FIRST_CHAR_VALID;
                break;
            case TOKEN_ZERO:
                state = State.INVALID;
                break;
        }
    }

    private void handleTokenAtFIRST_CHAR_VALID(char token) {
        switch (token) {
            case TOKEN_ONE:
                state = State.INVALID;
                break;
            case TOKEN_ZERO:
                state = State.VALID;
                break;
        }
    }

    private void handleTokenAtVALID(char token) {
        state = State.INVALID;
    }

    private void handleTokenAtINVALID(char token) {
    }

}

Hier hast Du halt eher leicht überschaubare Methoden. Wobei das ein Zwischenschritt der Umstellung wäre. Die ganzen private Methoden sind ein Zeichen, dass es ein Verhalten ist, das eigentlich nicht in die Klasse des Automaten gehört sondern ja ein Verhalten der Zustände ist. Daher würde das noch in die Enum State wandern.

Das Vorgehen ohne die Veränderung der Eingabe hat dabei vor allem den Grund, dass man dann vieles funktional und mit Streams lösen kann. Dadurch wird der Code dann am Ende nochmal deutlich kürzer und übersichtlicher.

==> Da Dich aber in erster Linie nur eine einfache Umsetzung eines Automaten interessiert würde ich da aber tatsächlich weitere Umstellungen als unnötig ansehen. Die Methoden halte ich aber durchaus für wichtig für einen besseren Überblick.
 

FinnJ

Mitglied
Ach, die Logik war bei Dir, dass Du das erste Zeichen immer weggeommen hast. Statt der ständigen Veränderung der Eingabe hättest Du immer den Index nehmen können. Das ist aus meiner Sicht eher die übliche Vorgehensweise, da Du so weniger verändern musst.

Der versprochene strukturierte Aufbau, wie ich ihn wählen würde (in einem ersten Schritt) wäre sowas:
Java:
/**
 * Automat zur Prüfung der Zeichenkette "10".
 */
public class ZeichenkettePrüfenAutomat {

    public static final char TOKEN_ZERO = '0';
    public static final char TOKEN_ONE = '1';

    private enum State { START, FIRST_CHAR_VALID, VALID, INVALID}

    State state = State.START;

   
    public boolean checkString(String input) {

        for (int index = 0; index < input.length(); index++) {
            handleToken(input.charAt(index));
        }

        return state == State.VALID;
    }

    private void handleToken(char token) {
        switch (state) {

            case START:
                handleTokenAtSTART(token);
                break;

            case FIRST_CHAR_VALID:
                handleTokenAtVALID(token);
                break;

            case VALID:
                handleTokenAtVALID(token);
                break;

            case 3:
                handleTokenAtINVALID(token);
                break;
        }
    }

    private void handleTokenAtSTART(char token) {
        switch (token) {
            case TOKEN_ONE:
                state = State.FIRST_CHAR_VALID;
                break;
            case TOKEN_ZERO:
                state = State.INVALID;
                break;
        }
    }

    private void handleTokenAtFIRST_CHAR_VALID(char token) {
        switch (token) {
            case TOKEN_ONE:
                state = State.INVALID;
                break;
            case TOKEN_ZERO:
                state = State.VALID;
                break;
        }
    }

    private void handleTokenAtVALID(char token) {
        state = State.INVALID;
    }

    private void handleTokenAtINVALID(char token) {
    }

}

Hier hast Du halt eher leicht überschaubare Methoden. Wobei das ein Zwischenschritt der Umstellung wäre. Die ganzen private Methoden sind ein Zeichen, dass es ein Verhalten ist, das eigentlich nicht in die Klasse des Automaten gehört sondern ja ein Verhalten der Zustände ist. Daher würde das noch in die Enum State wandern.

Das Vorgehen ohne die Veränderung der Eingabe hat dabei vor allem den Grund, dass man dann vieles funktional und mit Streams lösen kann. Dadurch wird der Code dann am Ende nochmal deutlich kürzer und übersichtlicher.

==> Da Dich aber in erster Linie nur eine einfache Umsetzung eines Automaten interessiert würde ich da aber tatsächlich weitere Umstellungen als unnötig ansehen. Die Methoden halte ich aber durchaus für wichtig für einen besseren Überblick.
Vielen Dank für die Mühe! Leider bin ich noch nicht so "tief in der Materie" drin, wodurch mir beispielsweise "enum state" nicht geläufig ist. Ansonsten ist der Code selbst für mich allerdings wirklich sehr übersichtlich, ich werden ihn mir als Vorlage nehmen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
missy72 Erste Schritte (nicht) Deterministischer endlicher Automat Java Basics - Anfänger-Themen 9
TimoN11 Automat programmieren Java Basics - Anfänger-Themen 4
E Deterministischer endlicher Automat (DEA) Java Basics - Anfänger-Themen 26
O Unterschied Baum <-> Automat Java Basics - Anfänger-Themen 2
X Endlicher Automat arrays Java Basics - Anfänger-Themen 13
S Spiel automat -Bilder vergleichen Java Basics - Anfänger-Themen 3
G Schoko Automat Java Basics - Anfänger-Themen 8
M Java Programmierung Aufgabe Anfänger Java Basics - Anfänger-Themen 1
N Lambdas, Methodenref, fkt Programmierung ? Java Basics - Anfänger-Themen 10
districon Dynamisch Programmierung/Backtracking/Memoization Java Basics - Anfänger-Themen 3
S Buchstaben Programmierung Bedeutung Java Basics - Anfänger-Themen 4
S Hilfe bei Programmierung einer Hotelabrechnung Java Basics - Anfänger-Themen 5
enjoykimii Strukturierte Programmierung Hilfe Java Basics - Anfänger-Themen 29
A Frage zur programmierung Java Basics - Anfänger-Themen 12
Nerdinfekt Programmieranfänger, Schwierigkeiten mit der Programmierung Java Basics - Anfänger-Themen 6
U Compiler-Fehler Programmierung einer Drehkugel Java Basics - Anfänger-Themen 8
L Programmierung mit Hash Java Basics - Anfänger-Themen 3
C Wie habt Ihr angefangen mit der Java Programmierung, ohne Programmiervorkenntnisse Java Basics - Anfänger-Themen 8
J Problem bei der Programmierung eines Tannenbaums Java Basics - Anfänger-Themen 9
S GUI-Programmierung Sudoku-Rätsel lösen Java Basics - Anfänger-Themen 1
B Fibonacci Zahlen dynamische Programmierung Java Basics - Anfänger-Themen 7
S Programmierung simulieren - aber wie?! Java Basics - Anfänger-Themen 3
H Java Programmierung Java Basics - Anfänger-Themen 3
W Problem bei Programmierung von Monte-Carlo-Integration Java Basics - Anfänger-Themen 12
D Guten Tag mache gerade eine Umschulung zum FiSi war leider jetzt 2 Wochen Krank und wir hatten Prozendurale Programmierung. Java Basics - Anfänger-Themen 3
P Rechnen mit Brüchen - objektorientierte Programmierung Java Basics - Anfänger-Themen 18
D Objektorientierte Programmierung Java Basics - Anfänger-Themen 13
F Attribute bei Objektorientierter Programmierung Java Basics - Anfänger-Themen 11
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
F Problem beim entfernen von mehreren Listenelementen auf einmal (Programmierung des Spiels Arschloch) Java Basics - Anfänger-Themen 1
Q Objektorientierte Programmierung Java Basics - Anfänger-Themen 17
J Texte für Java Programmierung besser verstehen? Java Basics - Anfänger-Themen 2
C GUI Programmierung unter Windows mit Java womit? Java Basics - Anfänger-Themen 11
D Collections Aufgaben Java-Programmierung Überforderung Java Basics - Anfänger-Themen 36
A GUI Programmierung mit Textfield Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 3
J Programmierung Quiz Spiel Java Basics - Anfänger-Themen 2
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
L Dynamische Programmierung Java Basics - Anfänger-Themen 0
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
A Methoden Habe ein Problem bei folgender Programmierung Java Basics - Anfänger-Themen 15
slejden Erste Schritte Frage zur OOP (objektorientierten Programmierung Java Basics - Anfänger-Themen 4
V Threads Nebenläufige Programmierung Java Basics - Anfänger-Themen 6
V Nebenläufige Programmierung Java Basics - Anfänger-Themen 5
Henri Paare Frage über Java Programmierung Java Basics - Anfänger-Themen 10
S Programmierung eines Geldwechselautomaten! Java Basics - Anfänger-Themen 2
R Einige Neulingsfragen (Wrapper, GUI-Programmierung) Java Basics - Anfänger-Themen 4
D JavaBeans und die visuelle Programmierung Java Basics - Anfänger-Themen 2
M Dringend Experten für Scala-Play basierte Programmierung!!!! Java Basics - Anfänger-Themen 0
Z Programmierung eines Stacks Java Basics - Anfänger-Themen 19
A Programmierung herangehensweise Java Basics - Anfänger-Themen 9
T Objektorientierte Programmierung - Kein Plan wieso das nicht funktioniert! Java Basics - Anfänger-Themen 6
G 3D-Spiele-Programmierung Java Basics - Anfänger-Themen 3
I Programmierung-Hausaufgabe: Hilfe benötigt Java Basics - Anfänger-Themen 8
R Kann jemand diese Java Programmierung machen? Versteh ich leider nicht Java Basics - Anfänger-Themen 17
T Nachhilfe JAVA Programmierung Java Basics - Anfänger-Themen 1
R Schaffe es nicht Random-Programmierung zu vollenden. Wo liegt der Fehler in diesem Code? Java Basics - Anfänger-Themen 13
N Socket-Programmierung Java Basics - Anfänger-Themen 4
kaoZ Android Programmierung / Erstellen einer neuen Instanz Java Basics - Anfänger-Themen 2
O OOP Input & Output in der GUI-Programmierung Java Basics - Anfänger-Themen 2
O Java Grafik-Programmierung? Java Basics - Anfänger-Themen 16
F Fehler bei Array und Index Programmierung Java Basics - Anfänger-Themen 18
K Objektorientierten Programmierung Java Basics - Anfänger-Themen 3
R Einstieg in Programmierung Java Basics - Anfänger-Themen 8
W Problem bei MineSweeper Programmierung Java Basics - Anfänger-Themen 10
N Objektorientierte Programmierung: Erben von 2 Klassen - wie ist korrekte Vorgehensweise? Java Basics - Anfänger-Themen 16
D Best Practise für Programmierung Java Basics - Anfänger-Themen 7
D Erste Schritte Einstieg in die Java Spiel Programmierung Java Basics - Anfänger-Themen 7
W objektorientierte Programmierung Java Basics - Anfänger-Themen 25
W objektorientierte Programmierung - String in andere Klasse übergeben Java Basics - Anfänger-Themen 13
E Algorithmen und Programmierung - Datum und Zeit ausgeben? Java Basics - Anfänger-Themen 8
Grejak OOP Einstieg in Objekt-Orientierte-Programmierung Java Basics - Anfänger-Themen 3
D Frage zu Bit Operatoren in der Programmierung Java Basics - Anfänger-Themen 9
U Geräte-Programmierung ? Java Basics - Anfänger-Themen 15
S 2 kurz Fragen zur Möglichkeit der Programmierung Java Basics - Anfänger-Themen 7
T Objektorientierte Programmierung, わからない です Java Basics - Anfänger-Themen 6
J Allgemeine Fragen zur Programmierung Java Basics - Anfänger-Themen 36
N Grafische Programmierung mit jeweils anderen Bildern bei versch. Ergebnissen Java Basics - Anfänger-Themen 9
S Objektorientierte Programmierung Java Basics - Anfänger-Themen 21
M Gui Programmierung Java Basics - Anfänger-Themen 21
J Spielevorschläge für Programmierung Java Basics - Anfänger-Themen 3
O Eisenbahn-Programmierung Java Basics - Anfänger-Themen 8
S Schlechte Programmierung Java Basics - Anfänger-Themen 5
O Probleme bei OO-Programmierung mit Vererbung Java Basics - Anfänger-Themen 18
M Programmierung kürzen??? Java Basics - Anfänger-Themen 5
N Umstieg auf objektorintierte Programmierung Java Basics - Anfänger-Themen 2
N Probleme mit meiner Programmierung Java Basics - Anfänger-Themen 5
M Meine erste Java Programmierung funzt nicht :-( Java Basics - Anfänger-Themen 34
H Programmierung Ampelsteuerung Java Basics - Anfänger-Themen 4
J [Erledigt] Applet Programmierung Java Basics - Anfänger-Themen 4
C Objektorientierte Programmierung Java Basics - Anfänger-Themen 11
T Gui Programmierung lernen Java Basics - Anfänger-Themen 3
E Toolkit (Scanner) Programmierung Java Basics - Anfänger-Themen 5
D Programmierung Profi Java Basics - Anfänger-Themen 18
G Problem bei Programmierung Java Basics - Anfänger-Themen 15
X Objektorientierte Java Programmierung - 3 Fragen zum Code Java Basics - Anfänger-Themen 5
G Problem bei Programmierung Java Basics - Anfänger-Themen 2
G thread programmierung für ANFÄNGER Java Basics - Anfänger-Themen 2
S generic programmierung "ne:w T[X]" Java Basics - Anfänger-Themen 2
A Einstieg in die Programmierung Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben