Hallo Leute,
ich sitze jetzt seit 2 Tagen vor dem Programm und finde einfach keine Lösung für den Fehler...
Folgende Fehlermeldung bekomme ich ausgegeben:
Exception in thread "main" java.lang.NullPointerException
at DEA.lauf(DEA.java:28) hier in Zeile 29
at Hauptprogramm.main(Hauptprogramm.java:44) hier in Zeile 40
Kann mir vielleicht jemand von euch helfen???
Würde mich sehr freuen.
Mit freundlichen Grüßen
Fabian
Class Hauptprogramm:
[Java]
// Endlicher Automat (Deterministisch).
// Bibliotheken
import java.io.*;
public class Hauptprogramm
{
public static void main(String[] args)
throws IOException
{
BufferedReader din = new BufferedReader (new InputStreamReader(System.in));
// Variablen
String Eingabe;
System.out.print("Bitte geben sie das zu testende Wort ein: [a ; b] >> ");
Eingabe = din.readLine();
// Auflösen des Strings in ein Array
for(int i = 0; i < Eingabe.length(); i++)
{
// Abfangen falscher Eingaben
if (Eingabe.charAt(i) != 'a' )
{
if (Eingabe.charAt(i) != 'b')
{
System.out.println("Falsche Eingabe!!! \nProgramm wird beendet!!!");
System.exit(1);
}
}
if (Eingabe.charAt(i) != 'b' )
{
if (Eingabe.charAt(i) != 'a')
{
System.out.println("Falsche Eingabe!!! \nProgramm wird beendet!!!");
System.exit(1);
}
}
DEA.lauf(Eingabe.charAt(i));
}
}
}
[/Java]
Class DEA
[Java]
// Endlicher Automat
// Der Sprache: {(a+b)|(b+aba)}
// FJ
// 24.09.09
public class DEA
{
// Attribute
public static boolean q[];
// Konstruktor
public DEA()
{
q = new boolean [6];
q[0] = true;
for(int i = 1; i<q.length;i++)
{
q = false;
}
}
// Methoden
public static void lauf(char var)
{
if( var == 'a')
{
if(q[0] == true)
{
q[1] = true;
q[0] = false;
System.out.println("Eingabe: "+var+" Position: q1");
}
if(q[5] == true)
{
q[2] = true;
q[5] = false;
System.out.println("Eingabe: "+var+" Position: q2");
}
if(q[3] == true)
{
q[4] = true;
q[3] = false;
System.out.println("Eingabe: "+var+" Position: q4");
}
}
else
{
if(q[0] == true)
{
q[3] = true;
q[0] = false;
System.out.println("Eingabe: "+var+" Position: q3");
}
if(q[4] == true)
{
q[5] = true;
q[4] = false;
System.out.println("Eingabe: "+var+" Position: q5");
}
if(q[1] == true)
{
q[2] = true;
q[1] = false;
System.out.println("Eingabe: "+var+" Position: q2");
}
}
if(q[2] == true)
{
System.out.println("Das Wort ist Akzeptiert!");
}
}
}
[/Java]
ich sitze jetzt seit 2 Tagen vor dem Programm und finde einfach keine Lösung für den Fehler...
Folgende Fehlermeldung bekomme ich ausgegeben:
Exception in thread "main" java.lang.NullPointerException
at DEA.lauf(DEA.java:28) hier in Zeile 29
at Hauptprogramm.main(Hauptprogramm.java:44) hier in Zeile 40
Kann mir vielleicht jemand von euch helfen???
Würde mich sehr freuen.
Mit freundlichen Grüßen
Fabian
Class Hauptprogramm:
[Java]
// Endlicher Automat (Deterministisch).
// Bibliotheken
import java.io.*;
public class Hauptprogramm
{
public static void main(String[] args)
throws IOException
{
BufferedReader din = new BufferedReader (new InputStreamReader(System.in));
// Variablen
String Eingabe;
System.out.print("Bitte geben sie das zu testende Wort ein: [a ; b] >> ");
Eingabe = din.readLine();
// Auflösen des Strings in ein Array
for(int i = 0; i < Eingabe.length(); i++)
{
// Abfangen falscher Eingaben
if (Eingabe.charAt(i) != 'a' )
{
if (Eingabe.charAt(i) != 'b')
{
System.out.println("Falsche Eingabe!!! \nProgramm wird beendet!!!");
System.exit(1);
}
}
if (Eingabe.charAt(i) != 'b' )
{
if (Eingabe.charAt(i) != 'a')
{
System.out.println("Falsche Eingabe!!! \nProgramm wird beendet!!!");
System.exit(1);
}
}
DEA.lauf(Eingabe.charAt(i));
}
}
}
[/Java]
Class DEA
[Java]
// Endlicher Automat
// Der Sprache: {(a+b)|(b+aba)}
// FJ
// 24.09.09
public class DEA
{
// Attribute
public static boolean q[];
// Konstruktor
public DEA()
{
q = new boolean [6];
q[0] = true;
for(int i = 1; i<q.length;i++)
{
q = false;
}
}
// Methoden
public static void lauf(char var)
{
if( var == 'a')
{
if(q[0] == true)
{
q[1] = true;
q[0] = false;
System.out.println("Eingabe: "+var+" Position: q1");
}
if(q[5] == true)
{
q[2] = true;
q[5] = false;
System.out.println("Eingabe: "+var+" Position: q2");
}
if(q[3] == true)
{
q[4] = true;
q[3] = false;
System.out.println("Eingabe: "+var+" Position: q4");
}
}
else
{
if(q[0] == true)
{
q[3] = true;
q[0] = false;
System.out.println("Eingabe: "+var+" Position: q3");
}
if(q[4] == true)
{
q[5] = true;
q[4] = false;
System.out.println("Eingabe: "+var+" Position: q5");
}
if(q[1] == true)
{
q[2] = true;
q[1] = false;
System.out.println("Eingabe: "+var+" Position: q2");
}
}
if(q[2] == true)
{
System.out.println("Das Wort ist Akzeptiert!");
}
}
}
[/Java]