BlueJ Zustände verwalten

hendrikbui

Neues Mitglied
Hallo,

ich habe folgendes Problem:

Mein endlicher Automat soll seine Zustände je nach Eingabe wechseln.

variable zustandNeu might not have been initialized

Java:
/**
 * 
 */
public class Alarmerkenner
{
    // instance variables - replace the example below with your own
    String zustand;

    /**
     * Constructor for objects of class Alarmerkenner
     */
    public Alarmerkenner()
    {
        // initialise instance variables
        zustand = "S0";
        
    }

    /**
     * An example of a method - replace this comment with your own
     * 
     * @param  y   a sample parameter for a method
     * @return     the sum of x and y 
     
    public String automat(String eingabe)
    {
        zustand = ufunktion(eingabe);
        return zustand;
    }
    */
   
    public String ufunktion (String ein)
    {
        String zustandNeu;
        zustand = zustandNeu;
        if (zustand == "S0")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            
            if (ein == ".")
            {
                zustandNeu = "S1";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
        }
        
        if (zustand == "SW")
        {
            if (ein == "W")
            {
                zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S1";
            }
            
            if (ein == "z")
            {
            
            }
        }
        
        if (zustand == "S1")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S2";
            }
        }
        
        if (zustand == "S2")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S3";
            }
        }
            
        if (zustand == "S3")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == ".")
            {
                zustandNeu = "S0";
            }
            if (ein == "_")
            {
                zustandNeu = "S4";
            }
        }    
        
        if (zustand == "S4")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == ".")
            {
                zustandNeu = "S0";
            }
            if (ein == "_")
            {
                zustandNeu = "S5";
            }
        }
            
        if (zustand == "S5")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == ".")
            {
                zustandNeu = "S0";
            }
            if (ein == "_")
            {
                zustandNeu = "S6";
            }
        }    
            
        if (zustand == "S6")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S7";
            }
        } 
        
        if (zustand == "S7")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S8";
            }
        }    
        
        if (zustand == "S8")
        {
            if (ein == "W")
            {
               zustandNeu = "SW";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == ".")
            {
                zustandNeu = "S9";
            }
        }    
            
        if (zustand == "S9")
        {
            if (ein == ".")
            {
               zustandNeu = "S0";
            }
            if (ein == "_")
            {
                zustandNeu = "S0";
            }
            if (ein == "W")
            {
                zustandNeu = "Se";
            }
        } 
       

        return zustandNeu;
    }
    
}
 
T

tröööt

Gast
[JAVA=34]String zustandNeu;
zustand = zustandNeu;[/code]

du erstellst einen neuen string "zustandNeu" und willst dann dem vorhandenen string "zustand" den wert dieses neuen strings zuweisen ... der aber noch NULL ist ... wesshalb "zustand" auch NULL würde und dein code einen haufen NPEs werfen würde ...

oder was genau hast du vor ?
 

hendrikbui

Neues Mitglied
ich möchte das der neue Zustand am Ende durch return and die Methode zurückgegeben wird und somit "zustandNeu" zu "zustand" wird. Damit "zustand" sozusagen immer den aktuellen Zustand behält um somit durch eine neue Eingabe das richtige "if" zu nehmen.

Mir kam gerade die Idee es umzudrehen (zustandNeu = zustand) und außerdem das auskommentierte wieder ins Programm zu nehmen. Somit wird genau das von mir beabsichtigte ausgeführt und mein Problem ist gelöst. Danke trz.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
K BlueJ - Fragen zu dem Spiel Pacman (Nachprogrammieren) Allgemeine Java-Themen 141
N BlueJ Implementation einer Analoguhr Allgemeine Java-Themen 0
G BlueJ Hintergrund Allgemeine Java-Themen 10
A BlueJ - Breite des Bildschirms Allgemeine Java-Themen 3
M Vererbung mithilfe von Bluej Allgemeine Java-Themen 3
D BlueJ, Variablen die mehrfach vorkommen gleichzeitig umbenennen Allgemeine Java-Themen 3
P BlueJ BlueJ Gloop City Projekt Allgemeine Java-Themen 0
F BlueJ Java/Bluej Bug oder einfach nur Dummheit?? Allgemeine Java-Themen 5
H BlueJ Gloop Allgemeine Java-Themen 1
A BlueJ Java Frame Java Editor --> Bluej / String title Allgemeine Java-Themen 8
D JAVA;BlUEJ Allgemeine Java-Themen 9
D BlueJ - Aufgabe 12 namens Traktor Allgemeine Java-Themen 7
P wieso kann ich auf bluej exportieren aber auf eclipse nicht? Allgemeine Java-Themen 2
L BlueJ Java/Bluej Windows7 Allgemeine Java-Themen 4
C blueJ: Objekt wird nicht in Objektleiste angezeigt Allgemeine Java-Themen 8
H BlueJ Klasse ZEICHENFENSTER in BlueJ Allgemeine Java-Themen 5
S BlueJ BlueJ - Geldautomat-Programmierung Allgemeine Java-Themen 2
K BlueJ: .jar Problem Allgemeine Java-Themen 2
G Anrufparameter für Applikationen in BlueJ Allgemeine Java-Themen 2
A BlueJ,Java, Exponentzechen! Allgemeine Java-Themen 12
F Kasiski-Test in BlueJ Allgemeine Java-Themen 4
B Problem mit Sortieralgorithmus (BlueJ) Allgemeine Java-Themen 2
G diagramm um Zustände darstellen zu können Allgemeine Java-Themen 5
D Konfiguration verwalten Allgemeine Java-Themen 5
S Microservice Projekt verwalten Allgemeine Java-Themen 22
JavaNewbie2.0 Benutzer/Passwörter verwalten Allgemeine Java-Themen 11
C -Verschiedene Versionen eines Programms verwalten Allgemeine Java-Themen 7
T Spielkarten Enumeration in KartenDeck verwalten Allgemeine Java-Themen 7
H [Logback || log4j] Wie richtig loggen / Log Instanzen verwalten Allgemeine Java-Themen 2
T Daten effizient verwalten Allgemeine Java-Themen 4
H Sehr viele Threads effizient Verwalten Allgemeine Java-Themen 13
C Daten speichern und verwalten Allgemeine Java-Themen 3
Y Properties verwalten! Allgemeine Java-Themen 3
G mehrere Threads verwalten? Allgemeine Java-Themen 14
W Einstellungen verwalten Allgemeine Java-Themen 31
S Objekte Massenhaft ;) Wie Objekte und Relationen verwalten? Allgemeine Java-Themen 6
D Wieviel Speicher kann die VM verwalten? Allgemeine Java-Themen 18
J Unbestimmte Menge Objekte erstellen und "verwalten&quot Allgemeine Java-Themen 5
K Ansprechen und Verwalten der Parallelport Schnittsstelle Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben