Exception in thread "AWT-EventQueue-0

C

Checksnicht

Gast
Was bedeutet dieser Fehler?

Code:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at Würfel.dekodiere(Würfel.java:54)
	at CodecGUI.actionPerformed(CodecGUI.java:113)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.awt.EventQueue.access$200(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.awt.EventQueue$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.awt.EventQueue$4.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Würfel.java:54 ---
Java:
int losungslaenge = losung.length()

CodecGUI.java:113---
Java:
String encode1=würfel1.dekodiere(geheimtext.getText());
 
Q

qwerthtzuu

Gast
Bedeutet, dass eine Variable zum Zeitpunkt des Zugriffs nicht initialisiert ist. hier z.b.
Code:
losung
 
Q

qwerthtzuu

Gast
Nein, keine Ahnung was losung für eine Variable ist, aber diese muss initialisiert sein, bevor man darauf zugreift und irgendwelche Methoden daran aufruft.
 
C

Checksnicht

Gast
Und was soll ich dann machen?

Java:
import javax.swing.JOptionPane;
public class Würfel implements Codec {
	private String codeword;
	/** Die Losung, die zur Ent- bzw Verschluesselung verwendet wird */
	String losung;
	
	/** Die aequivalenten ASCII Werte der Losung */
	int[] charWerteDerLosung;
	
	/** Die alphabetische Reihenfolge der Buchstaben der Losung, beginnend ab null */
	int[] losungStrukturiert;
	/*
	 * Methode zur Permutationsrechnung
	 * @return Gibt die Permutation aus
	 * 
	 */
    public int [] Losung(String codeword){
    	codeword = codeword.toLowerCase();
    	int zaehler = 1;
    	int[] zahlenlosung = new int[codeword.length()];
    
    	//Durchläuft den String von a bis z
    	for (int i = 'a'; i <= 'z'; i++) {
    		/*Überprüfung ob der Inhalt (a bis z) an der entsprechenden 
			Stelle des Strings vorliegt +*/
    		for (int n = 0; n < codeword.length(); n++) {
    			if(codeword.charAt(n) == i){
    				zahlenlosung[n] = zaehler;
    				zaehler++;
    			}
    		}
	   	}
	return zahlenlosung;
  }
	
	@Override
	/*
	 * Verschlüsselt den Klartext mit der Permutation des Codewortes
	 * 
	 * @pre Klartext liegt als String vor
	 * @param klartext: Der Klartext der als String vorliegt
	 * @return Liefert den Text als koodierten Text
	 */
	public String kodiere(String klartext) {
        int [] zahlenlosg = Losung(klartext);
        int laengeLosung = zahlenlosg.length;
        //Neuer Stringarray mit Länge der Länge des Schlüsselwortes
        String[] verTeil = new String[laengeLosung];
        
        for (int i = 0; i < verTeil.length; i++) {    
                verTeil[i] = "";
        }
        
        for (int i = 0; i < klartext.length(); i++) {
       	 //TeilString wird mit neuer Chiffe zusätzlich belegt   
            verTeil[zahlenlosg[i%laengeLosung]-1] = verTeil[zahlenlosg[i%laengeLosung]-1]+klartext.charAt(i); 
        }
     
        String verText = "";
        for (String s : verTeil) {
            verText = verText+s;
        }
		return verText;
	}
   
	@Override
	/*
	 * 
	 * Dekodiert den Geheimtext mit dem Schlüsselwort
	 * @pre Geheimtext liegt als String vor
	 * @param geheimtext: Geheimtext als String
	 * @return Den Dekodierten Text
	 * 
	 */
	public String dekodiere(String geheimtext) {
		StringBuilder klartext = new StringBuilder();
		nummeriereLosungAlphabetisch();
		int losungslaenge = losung.length();		
		int geheimtextLaenge = geheimtext.length();
		int zeilen = (int) Math.floor(geheimtextLaenge / losungslaenge);
		int letzterIndex = zeilen * losungslaenge;
		int pos = 0;
		int anzahlChars = 0;
		int[] nullBasierteZuordnungGeheimText = new int[geheimtextLaenge];
		
		
		strukturiereNummerierteLosungNullbasiert();
	
		//berechne Zeilenposition der einzelnen Buchstaben
		for(int i=0;i<losungslaenge;i++){ //Iteriere ueber das geheimtext Array bis zum aktuellen Wert des permutationsIndex Arrays
			for(int j=0;j<zeilen;j++){ //Iteriere jeweils nur %zeilen% Stellen des geheimtext Arrays weit und fuege nullbasierte Wertzuordnungen ein
				nullBasierteZuordnungGeheimText[pos] = i;
				pos++;
			}
		}

		if(geheimtextLaenge > letzterIndex){	
			pos = 0;
			//Füge Indizes der nächsten Zeile hinzu
			for(int i=letzterIndex; i<nullBasierteZuordnungGeheimText.length;i++){
				nullBasierteZuordnungGeheimText[i] = losungStrukturiert[pos];	//position in geheimTextArray, die ersetzt werden muss
				pos++;
			}
			sortierePermutation(nullBasierteZuordnungGeheimText);			
		}
		
		if(geheimtextLaenge-letzterIndex > 0 ) zeilen++;
		
		int[][] altevsneuePos = new int[geheimtextLaenge][3];
		int position=0;
		int zusatz=0;
		//Schreibe geheimtext zeilenweise auf
		for(int k=0;k<zeilen;k++){
			for(int j=0;j<losungStrukturiert.length;j++){
				if(anzahlChars>=geheimtextLaenge){	//Abfrage, ob das Ende des Geheimtextes erreicht ist, wenn ja, dann abbruch						
					j=losungslaenge;					
				}else{
					altevsneuePos[position][2] = zusatz;
					pos = ((zeilen-1)*losungStrukturiert[j])+zusatz; //Ungefaehre Position des naechsten Zeichens
					altevsneuePos[position][0] = pos;
					while(nullBasierteZuordnungGeheimText[pos]!=losungStrukturiert[j]&&pos<geheimtextLaenge)pos++; //Exakte Position des naechsten Zeichens
					altevsneuePos[position][1] = pos;
					int noetigeSchritte = (altevsneuePos[position][1]-altevsneuePos[position][0]);
					if(noetigeSchritte>=500)zusatz=zusatz+480;
					position++;
					klartext.append(geheimtext.charAt(pos));					
					anzahlChars++;
					nullBasierteZuordnungGeheimText[pos] = -1; //Zeichen auf -1 setzen, damit er beim naechsten Durchlauf uebersprungen wird
				}
			}
		}

		
		return klartext.toString();
	}

	@Override
	/*
	 * Holt die Zahlenlosung 
	 * 
	 * @pre Codewort muss als String vorliegen
	 * @param codeword: Codewort als String
	 * @return Liefert die Permutation als Zahlenlosung
	 */
	public String gibLosung() {
		int[] Losung = this.Losung(codeword);
        //Rückgabe der Zahlenlosung
		return Losung.toString(); 
		}
	

	@Override
	/*
	 * Methode zum setzen der Losung/Codeworts
	 * @pre Codeword muss als String vorliegen
	 * @param schlüssel: Das entsprechende Codeword als Schlüsse
	 * @throws eine IllegalArgumentException wenn das Codeworlänger als 26 Zeichen ist
	 * @return Setzen des Codewords
	 * 
	 */
	public void setzeLosung(String schlüssel) throws IllegalArgumentException {
		try {
			if (schlüssel.length()>26 || schlüssel.length()==0){
				throw new IllegalArgumentException("e");
			}
		} catch (Exception e) {
			JOptionPane.showMessageDialog(null,"Fehler: Codeword zu lang oder 0", "Fehler", JOptionPane.ERROR_MESSAGE);

		}
		this.codeword=schlüssel;
		
	}
    
    /**
	 * Implementiert einen InsertionSort zur numerischen Sortierung eines Integer Arrays.
	 *
	 * @param a Ein beliebig langes Integer Array, welches sortiert werden soll.
	 */
	private void sortierePermutation(int[] a){
        int i = 0, j = 0, t = 0;
        for (i=1; i<a.length; i++)
        {
            j=i;
            t=a[j];
            while (j>0 && a[j-1]>t)
            {
                a[j]=a[j-1];
                j--;
            }
            a[j]=t;
        }
    }
	/**
	 * Nummeriert die Losung abhaengig von ihrer alphabetischen Position und speichert ihre char-Werte.
	 */
	private void nummeriereLosungAlphabetisch(){
		charWerteDerLosung = new int[losung.length()];
		int j = 0;
		for(char c='a';c<='z';c++){
			for(int i=0;i<losung.length();i++){
				if (c == losung.charAt(i)){
					charWerteDerLosung[j++] = c;
				}
			}
		}
	}
	
	/**
	 * Verwendet die char Werte aus nummeriereLosung() und vergibt die Werte nullbasiert neu.
	 */
	private void strukturiereNummerierteLosungNullbasiert(){
		losungStrukturiert = new int[losung.length()];
		for(int i=0;i<losung.length();i++){
			for(int k=0;k<charWerteDerLosung.length;k++){
				if(losung.charAt(i) == charWerteDerLosung[k]){
					losungStrukturiert[i] = k;
					charWerteDerLosung[k] = 0;
					k = charWerteDerLosung.length;
				}
			}			
		}
	}
	
}
 
C

Checksnicht

Gast
Achso ich hab ja vergessen zu sagen was passiert:

es wird ein String Codewort übergeben und soll zu Losung werden
über die Losung wird nun ein anderer Text als String entschlüsselt
 
C

Checksnicht

Gast
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Würfel.dekodiere(Würfel.java:98)
 
Q

qwertzzuu

Gast
oben steht in Zeile 98
Code:
pos = 0;
da kann keine NPE geworfen werden.
Wenn es um Zeile 78 geht, dann sehe ich jetzt auf Anhieb nirgends wo losung initialiert wurde.
 
C

Checksnicht

Gast
int losungslaenge = losung.length();

Dadrum ja, ich hab den aber doch initialisiert durch setzeLosung
 
C

Checksnicht

Gast
--gelöst

Java:
this.codeword=schlüssel;

durch

Java:
this.losung=schlüssel;

ersetzt...

Ich habs irgendwie überlesen, jetzt gibts andere fehler... aber der welcher weg sollte ist weg
 
C

Checksnicht

Gast
ich habs ja dann doch noch gefunden.

Niemals nachts beginnen ein programm ohne strukturüberlegung dahinter entwickeln... das hab ich jetzt gelernt

danke
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Java Basics - Anfänger-Themen 8
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
D Exception in thread "AWT-EventQueue-0" Java Basics - Anfänger-Themen 8
M Exception in thread "AWT-EventQueue-0" Java Basics - Anfänger-Themen 7
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
J Datentypen Exception in thread "AWT-EventQueue-0"?? Java Basics - Anfänger-Themen 4
Spin Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: data must Java Basics - Anfänger-Themen 10
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
M Exception in thread "main" java.util.NoSuchElementException Java Basics - Anfänger-Themen 2
B Compiler-Fehler Fehlermeldung Exception in thread, falsche Eingabewert Java Basics - Anfänger-Themen 2
S Kriege Fehler "Exception in thread" beim Benutzen von SubStrings. Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 5
S Compiler-Fehler Exception in thread "main" java.lang.Error: Unresolved compilation problem: Java Basics - Anfänger-Themen 6
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
J Exception in thread "main" Java Basics - Anfänger-Themen 1
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
N Threads Exception in thread "main"... Feher bei dem Versuch ein Radius zu berechnen Java Basics - Anfänger-Themen 4
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
V Threads Exception in Thread behandeln Java Basics - Anfänger-Themen 3
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
K Exception in thread "main" Java Basics - Anfänger-Themen 7
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
D Exception in thread "main" Java Basics - Anfänger-Themen 8
A Exception in thread "main" Java Basics - Anfänger-Themen 7
A Exception aus Thread werfen Java Basics - Anfänger-Themen 14
S Exception in thread "main" Java Basics - Anfänger-Themen 3
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
T Thread 2x starten verursacht Exception Java Basics - Anfänger-Themen 3
L Bubblesort: Exception in Thread "main" Java Basics - Anfänger-Themen 5
Y Exception in thread Java Basics - Anfänger-Themen 11
A Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 16
A GELÖST -- Exception in thread "main" Java Basics - Anfänger-Themen 3
B Fehlermeldung - Exception in thread "main" java.lang.Error: Unresolved compilation pr Java Basics - Anfänger-Themen 16
E Fehler: "Exception in thread "main" java.lang.NoSuchMethodError" Java Basics - Anfänger-Themen 15
G Fehler: Exception in thread main java.lang.noClassDefFound Java Basics - Anfänger-Themen 7
L Exception in thread "main" java.util.NoSuchElement Java Basics - Anfänger-Themen 4
A Do/While Problem (Exception in thread "main" java. Java Basics - Anfänger-Themen 4
M "exception in thread "main" java.lang.NullPoi Java Basics - Anfänger-Themen 2
S Exception in thread "main" java.lang.UnsupportedCl Java Basics - Anfänger-Themen 4
P Exception in thread "main" Java Basics - Anfänger-Themen 4
O java.lang.NoClassDefFoundError Exception in thread "mai Java Basics - Anfänger-Themen 5
V Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 21
S Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
S Exception in thread Java Basics - Anfänger-Themen 7
NightmareVirus Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 8
A "Exception in thread "main" java.lang.NoCLass Java Basics - Anfänger-Themen 10
N exception in thread main . Java Basics - Anfänger-Themen 3
A Exception in thread "Thread-33" java.lang.NoClassD Java Basics - Anfänger-Themen 10
C Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 9
vogella Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
F Fehlermeldung: Exception in thread. Java Basics - Anfänger-Themen 17
R Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 6
C exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 7
A Fehlermeldung: Exception in thread "main" java.lan Java Basics - Anfänger-Themen 3
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 3
G Exception in thread Java Basics - Anfänger-Themen 9
R Exception in Thread "main" . Kommandozeile/Netbean Java Basics - Anfänger-Themen 8
L Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerEx Java Basics - Anfänger-Themen 10
B Exception in thread "main"... Java Basics - Anfänger-Themen 3
H exception in thread mainjava.lang.noclass ... Java Basics - Anfänger-Themen 3
L Exception in thread "main" java.lang.NoSuchMethodE Java Basics - Anfänger-Themen 3
K Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 8
J Exception in thread "main" java.langClassNoFoundEr Java Basics - Anfänger-Themen 2
H Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 5
B Fehler: Exception in Thread "main" java.lang.NoCla Java Basics - Anfänger-Themen 2
G Exception in thread "main" java.lang.NoClassDefFou Java Basics - Anfänger-Themen 2
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
W Null-Pointer Exception beim Programmstart Java Basics - Anfänger-Themen 8
Ostkreuz String Exception Java Basics - Anfänger-Themen 8
Fiedelbambu Exception in Application constructor Java Basics - Anfänger-Themen 3
S leeres Array statt Null Pointer Exception ausgeben Java Basics - Anfänger-Themen 20
F abbruch Exception lässt sich nicht erstellen Java Basics - Anfänger-Themen 2
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
N Exception beim Verwenden von Arraylist? Java Basics - Anfänger-Themen 10
S JavaKara Null Exception Error Java Basics - Anfänger-Themen 4
T Eigene Exception - ohne werfen abfangen Java Basics - Anfänger-Themen 2
LiFunk Exception: es dürfen nur Nummern eingelesen werden Java Basics - Anfänger-Themen 6
low_in_the_head Eigene Exception nutzen Java Basics - Anfänger-Themen 4
G Exception Java Basics - Anfänger-Themen 2
I JAX-RS Exception Handling Java Basics - Anfänger-Themen 4
L Meine erste eigene Exception Klasse Java Basics - Anfänger-Themen 10
J null exception Array Java Basics - Anfänger-Themen 5
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
M Wie kann ich bei int-Variablen im exception handler auf bestimmte Strings reagieren? Java Basics - Anfänger-Themen 5
C Exception-Frage Java Basics - Anfänger-Themen 3
I Exception bei Button mit wait() und notifyAll() Java Basics - Anfänger-Themen 3
N Wie teste ich eine geworfene Exception? Java Basics - Anfänger-Themen 8
R Methoden ArrayList clonen wirft exception Java Basics - Anfänger-Themen 3
D Scanner- Exception NoSuchElementException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben