Interpreter-Fehler java.lang.NullPointerException

Kel

Aktives Mitglied
Java:
import java.awt.Color;

public class Auto {

	String marke;
	String klasse;
	int preis; // in €
	int baujahr;
	Color farbe;
	int ps;
	int tueren; // Anzahl der Tueren
	int aktuelleGeschwindigkeit;
	int hoechstGeschwindigkeit; // in km/h
	int zurueckgelegteStrecke;
	int emission = 13; //in Gramm CO2 pro Kilometer
	boolean gruenePlakette;
	boolean gueltigerTuev;
	boolean Aufgabe1_1 = farbe == Color.green;
	boolean Aufgabe1_2 = marke.equals("Nissan") && !marke.equals("Fiat");
	boolean Aufgabe1_3 = baujahr > 2000;
	boolean Aufgabe1_4 = gruenePlakette == true && gueltigerTuev == true;
	boolean Aufgabe1_5 = tueren == 3 || tueren == 5;
	boolean Aufgabe1_6 = (baujahr > 2008 && gruenePlakette == true && klasse == "Kleinwagen");
	boolean Aufgabe1_7 = (ps % 2 == 0);
	boolean Aufgabe1_8 = tueren <= 3 && hoechstGeschwindigkeit >= 250;
	boolean Aufgabe1_9 = hoechstGeschwindigkeit >= ps * 1.8;
	boolean Aufgabe1_10 = (preis > 1500000 && preis < 2500000) && (!klasse.equals("Kleinwagen")) || (klasse.equals("Kleinwagen") && farbe == Color.red && marke.equals("VW") && baujahr < 1978);
	
	void Aufgabe2_1() {
		//Es handelt sich um einen Ökowagen, falls die Emission unter 120 Gramm CO2 pro Kilometer liegt: 
		boolean oekowagen = emission < 120;
		System.out.println(oekowagen);
	}
	
	void Aufgabe2_2() {
		// Dreitürer haben drei Türen: 
		boolean dreituerer = tueren == 3;
		System.out.println(dreituerer);
	}
	
	void Aufgabe2_3() {
		// Das Auto hat keine 200 PS: 
		boolean x = ps != 200;
		System.out.println(x);
	}
	void Aufgabe2_4() {
		// Das Auto hat einen 4.2 Liter Motor:
		double motor = 4.2; 
		System.out.println(motor);
	}
	
	void Aufgabe2_5() {
		// Das Auto kostet unter 20.000€ und ist gelb oder grün: 
		boolean niceCar = preis < 2000000 && (farbe == Color.yellow || farbe == Color.green);
		System.out.println(niceCar);
	}
	
	void Aufgabe2_6() {
		// Das Auto hat eine Beschleunigung von 12km/h pro Sekunde.
		//Die Geschwindigkeit in einer Sekunde erhöht sich um die Beschleunigung
		int beschleunigung = 12;
		int geschwindigkeit = 0; 
		geschwindigkeit = geschwindigkeit + beschleunigung;
		System.out.println(geschwindigkeit);
	}
	
	void Aufgabe2_7() {
		// Das Auto ist ein Golf: 
		String modell = "Golf";
		System.out.println(modell);
	}

	void Aufgabe2_8() {
		// Das Auto wurde zwischen 1998 und 2000 gebaut: 
		boolean guterJahrgang = baujahr > 1998 && baujahr <= 2000;
		System.out.println(guterJahrgang);
	}
	
	void Aufgabe2_9() {
		// Der Preis des Auto lässt sich glatt durch 36 teilen: 
		boolean ratenZahlung = preis % 36 == 0;
		System.out.println(ratenZahlung);
	}
	
	void Aufgabe2_10() {
		// Aufgrund eines Angebotes verringert sich der Preis des Autos 
		int preis = 3000000; 
		int nachlass = 500000;
		preis -= nachlass;
		System.out.println(preis);
	}
	
	public Auto() {
		// Beispiel: 
		System.out.println("Beispiel: ");
		gueltigerTuev = false;
		System.out.println(gueltigerTuev);
		gueltigerTuev = true;
		System.out.println(gueltigerTuev);
	}

	void gas() {
		if (aktuelleGeschwindigkeit <= hoechstGeschwindigkeit - 30) {
			aktuelleGeschwindigkeit++;
		}
	}
	
	void bremsen() {
		if (aktuelleGeschwindigkeit > 0) {
			aktuelleGeschwindigkeit--;
		}
	}

	void vollbremsung() {
		aktuelleGeschwindigkeit /= 2;
	}
	
	void eineStundeFahrt() {
		zurueckgelegteStrecke += aktuelleGeschwindigkeit;
	}
	
	void bisherigeEmission() {
		emission *= zurueckgelegteStrecke;
		if (emission > 1000 && emission < 10000) {
			emission /= 1000;
		}
		else if (emission > 10000) {
			emission /= 10000;
		};
		
	}

	public static void main(final String[] arg) {
		new Auto();
	}

}

Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Auto.<init>(Auto.java:19)
at Auto.main(Auto.java:134)

Wenn ich Zeile 19 & Zeile 27 auskommentiere, läuft alles einwandfrei. Aber das lief es vorher auch, ohne dass ich die rausnehmen musste. Irgendwas hab ich da falsch, aber ich wüsste nicht was und vor allem nicht, wieso sich die JVM grade daran verschluckt.
 

AmunRa

Gesperrter Benutzer
marke hat doch einfach noch keinen Wert
ebenfalls hat klasse noch keinen Wert.

Alles was du in den zeilen 18-27 machen möchtest sollte eher in einem konstruktor machen

wobie ich sagen muss, dass alles was du hier geschrieben hast ein ziemlicher blödsinn ist
 
Zuletzt bearbeitet:

s4ke

Bekanntes Mitglied
Okay, du solltest vielleicht erst einmal das Programm strukturell aufräumen. Wieso speicherst du in boolean Variablen in der Klasse die Ergebnisse von Aufrufen? Oder verstehe ich das falsch?

Zudem könntest du auch den Konstruktor an die erste Stelle nach den Variablen setzen und darin alle Variablen definieren, denn dafür ist er ja da.
 

Kel

Aktives Mitglied
Dass mein Programm nicht so das Wunder ist, weiss ich selbst. Aber aktuell sind die Grundlagen von der Vorlesung halt ziemlich ... mager. Richtige Javabenutzung ist noch nicht wirklich Thema, leider.

Zudem könntest du auch den Konstruktor an die erste Stelle nach den Variablen setzen und darin alle Variablen definieren, denn dafür ist er ja da.
Konstruktor hatten wir noch nicht. Ist halt keine Informatikervorlesung, sondern nur Studiengang mit Informatik Level 3, also das unterste.
Aber wenn du es mir erklärst, versuch ich mich mal darüber schlau zu machen.

Wieso wird den keine Exception für
[JAVA=21]boolean Aufgabe1_4 = gruenePlakette == true && gueltigerTuev == true;
boolean Aufgabe1_6 = (baujahr > 2008 && gruenePlakette == true && klasse == "Kleinwagen");[/code]
geworfen? Da sind ja auch noch keine Werte zugewiesen.
 
Zuletzt bearbeitet:

s4ke

Bekanntes Mitglied
[JAVA=21]boolean Aufgabe1_4 = gruenePlakette == true && gueltigerTuev == true;
boolean Aufgabe1_6 = (baujahr > 2008 && gruenePlakette == true && klasse == "Kleinwagen");[/code]

Weil booleans automatisch false haben und nicht initialisiert werden müssen. Das ist meines Wissens nach so, weil sie primitive Datentypen sind. Strings dagegen sind keine primitiven und müssen initialisiert werden. Und der Vergleich klasse == "Kleinwagen" ist auch falsch, denn dann vergleicht er nur, ob das Objekt Klasse exakt gleich dem Objekt "Kleinwagen" ist und das ist nie der Fall.

Richtig wäre klasse.equals("Kleinwagen"), aber das würde auch einen Fehler werfen.
 

Kel

Aktives Mitglied
Wieder was gelernt :). Hab jetzt meine Strings mit " " initialisiert und es läuft.
Die Konstruktorgeschichte und die anderen Tipps sind für mich noch nicht wirklich verständlich, aber ich arbeite dran.

Danke für die Hilfe.
 
Zuletzt bearbeitet:

s4ke

Bekanntes Mitglied
Naja, dann mache ich mich mal kurz daran, dir die Struktur eines Programms aufzuschreiben:

Java:
public class Klasse
{
    /*
    * Hier kommen die Variablen hin, die in der ganzen Klasse gebraucht werden
    */
    private int beispielVariable;
    private String text;

    /**
    * Der Konstruktor mit den Übergabeparametern, das ganze wird dann in die Klassenvariablen gespeichert
    */
    public Klasse(int xBeispielVariable, String xText)
    {
         beispielVariable = xBeispielVariable;
         text = xText;
    }
    
    /**
    * Beispielmethode, die nur ein bischen was ausgibt
    */
    public void foo()
    {
        System.out.println("Der übergebene String war " + text);
        System.out.println("Und die Variable war " + beispielVariable);
    }

    /**
    *Lass uns mal was ändern aber das ändert das ganze immer auf dasselbe!
    */
    public void foo2()
    {
         text = "Foooooooooo-Attack";
         beispielVariable = 2;
     }

     /**
     * Hier kannst du übergeben, auf was text gesetzt werden soll!
     * Eine sogenannte setter-Methode
     */
     public void setText(String xText)
     {
          text = xText;
     }

     /**
     * Und hier kannst du dir von deinem Objekt etwas zurückgeben lassen
     * In dem Fall immer das, auf das text gesetzt wird und das ist sein String (daher kein void, void bedeutet, es gibt nichts zurück, hier soll ein String zurückgeliefert werden, daher auch ein return)
     */
     public String getText()
     {
          return text;
     }

    /**
    *Methode, die zum Starten eines Programms benutzt wird. Diese gibt es in einem Programm genau 1 mal.
    */
    public static void main(String args[])
    {
        //Hier erstellen wir eine lokale Variable Namens klasse vom Typ Klasse. Diese brauchen wir aber nur kurz, um die Methode foo() auszuführen, also brauchen wir sie nur lokal.
        Klasse klasse = new Klasse(1,"Hallo!");
        klasse.foo();
        //Dann lass uns doch mal bischen was Spielen und mal foo2() aufrufen, die was an den Klassenvariablen ändert
        klasse.foo2();
        //Lass uns das mal mit foo() ausgeben
        klasse.foo();
        //Da kam was anderes raus!
        klasse.setText("Lass uns spielen!");
        //Das kann man auch anders ausgeben lassen
        System.out.println(klasse.getText());
        //So kann man Daten eines Objekts zurückgeben lassen (von außen)
    }
}

Bei Fragen, einfach melden.

Zudem habe ich das Gefühl, dass deine Methoden GAR NICHTS bewirken, da sie irgendwie nicht auf die Klassenvariablen zugreifen...

EDIT: Und schon wieder extrem viel gecodet ohne mein geliebtes Eclipse... :D
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S java.lang.NullPointerException Java Basics - Anfänger-Themen 4
G Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 4
A Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 7
P Interpreter-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 3
T Problem mit Eclipse? Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 4
S Fehler: "java.lang.NullPointerException" Java Basics - Anfänger-Themen 6
I Erste Schritte Ausführfehler: java.lang.NullPointerException Java Basics - Anfänger-Themen 3
1 Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException Java Basics - Anfänger-Themen 5
S Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 11
V [Greenfoot] java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 10
J java.lang.NullPointerException Java Basics - Anfänger-Themen 18
K OOP java.lang.NullPointerException Java Basics - Anfänger-Themen 2
B Exception in thread "main" java.lang.NullPointerException Fehler Hilfe! Java Basics - Anfänger-Themen 4
S Fehlermeldung: java.lang.NullPointerException Java Basics - Anfänger-Themen 10
A Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 16
K java.lang.NullPointerException in Array bei Arraylistübergabe Java Basics - Anfänger-Themen 7
G java.lang.NullPointerException Was tun? Java Basics - Anfänger-Themen 7
J java.lang.NullPointerException . Java Basics - Anfänger-Themen 5
G java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S java.lang.NullPointerException - Bitte helft mir! Java Basics - Anfänger-Themen 5
S java.lang.NullPointerException Fehler bei Umrechnung Java Basics - Anfänger-Themen 3
P java.lang.NullPointerException Java Basics - Anfänger-Themen 19
M java.lang.NullPointerException at . Java Basics - Anfänger-Themen 4
S java.lang.nullpointerexception bei arrayübergabe Java Basics - Anfänger-Themen 30
S java.lang.NullPointerException bei Bildern Java Basics - Anfänger-Themen 13
P java.lang.NullPointerException was ist das? Java Basics - Anfänger-Themen 7
G java.lang.NullPointerException beim objekt Java Basics - Anfänger-Themen 3
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
F Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 11 at main.main(main.java:11) Java Basics - Anfänger-Themen 2
O Exception in thread "main" java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 4
JaVaN0oB java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 18
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
H JUnit in Eclipse: java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 9
I Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 Java Basics - Anfänger-Themen 3
B java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 3
P java.lang.ClassCastException Bedeutung und Lösung Java Basics - Anfänger-Themen 3
J Erste Schritte java.lang.NoClassDefFoundError Java Basics - Anfänger-Themen 4
I java.lang.ArrayIndexOutOfBoundsException at lösung.main Java Basics - Anfänger-Themen 3
T Compiler-Fehler java.lang.ArithmeticException: / by zero Java Basics - Anfänger-Themen 2
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
D Erste Schritte Java.lang.NullPointer.Exception Java Basics - Anfänger-Themen 8
C Compiler-Fehler Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 Java Basics - Anfänger-Themen 3
N jodaTime java.lang.IllegalArgumentException: Invalid format Java Basics - Anfänger-Themen 3
F Erste Schritte java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 3
R java.lang.StringIndexOutOfBoundsException Java Basics - Anfänger-Themen 1
V java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 2
H java.lang.NoClassDefFoundError Run as>> Run on Server Java Basics - Anfänger-Themen 2
L Fehler: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
S Java memory fehler: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap spa Java Basics - Anfänger-Themen 5
M java.lang.Enum.valueOf(Unknown Source) Java Basics - Anfänger-Themen 2
L Compiler-Fehler Problem beim Programmieren eines Kalenders (java.lang.ArrayIndexOutOfBoundsException) Java Basics - Anfänger-Themen 2
A Code läuft nicht, Fehlermeldung Exception in thread "main" java.lang.Error: Unresolved compilation " Java Basics - Anfänger-Themen 11
P Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 1
C Hilfe!!! java.lang.ClassCastException Java Basics - Anfänger-Themen 1
O java.lang.IndexOutOfBoundsException JTable autoSort Java Basics - Anfänger-Themen 5
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
F Exception in thread main java.lang.StackOverflowError Java Basics - Anfänger-Themen 3
K Caused by: java.lang.NoClassDefFoundError: org/mindrot/jbcrypt/BCrypt Java Basics - Anfänger-Themen 0
OnDemand java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 9
J Klassen java.lang.String - lexikographisches Sortieren Java Basics - Anfänger-Themen 5
T Erste Schritte import java.lang.System.out Java Basics - Anfänger-Themen 4
H Classpath java.lang.NoClassDefFoundError externe Libary Java Basics - Anfänger-Themen 4
M Exception in thread "main" java.lang.NoClassDefFoundError: MeineKlasse Java Basics - Anfänger-Themen 12
X Applet Fehler: java.lang.reflect.InvocationTargetException Java Basics - Anfänger-Themen 45
B java.lang.ArrayIndexOutOfBoundsException Java Basics - Anfänger-Themen 4
K Date cannot be cast to java.lang.Integer Java Basics - Anfänger-Themen 4
H java.lang.IndexOutOfBoundsException bei verschachtelter ArrayList Java Basics - Anfänger-Themen 9
V java.lang.NoSuchMethodError Java Basics - Anfänger-Themen 2
J java.lang.math asin() Java Basics - Anfänger-Themen 18
R Compiler-Fehler java.lang.ArrayIndexOutOfBoundsException, warum? Java Basics - Anfänger-Themen 6
K Error: java.lang.NoSuchMethodException Java Basics - Anfänger-Themen 2
M Compiler-Fehler Fehler Meldung java.lang.NumberFormatException: empty String Java Basics - Anfänger-Themen 2
G java.lang.ClassNotFoundException Java Basics - Anfänger-Themen 4
S String index out of range: 8 at java.lang.String.substring(Unknown Source) Java Basics - Anfänger-Themen 13
X Interpreter-Fehler "java.lang.NullPionterException: null" bei BlueJ Java Basics - Anfänger-Themen 10
P java.lang.ClassCastException Java Basics - Anfänger-Themen 2
D java.lang.NoSuchMethodError: main Java Basics - Anfänger-Themen 11
S expected java.lang.string but found char Java Basics - Anfänger-Themen 5
S Umgebungsvariable Exception in thread "main" java.lang.UnsatisfiedLinkError: no J3D in java.librar y.path Java Basics - Anfänger-Themen 15
S Compiler-Fehler java.lang.SecurityException: Invalid signature file digest for Manifest main attributes Java Basics - Anfänger-Themen 5
M Klassen Exception in thread "main" java.lang.NoClassDefFoundError: Java Basics - Anfänger-Themen 2
A Compiler-Fehler unreported exception java.lang.Exception; must be caught or declared to be thrown Java Basics - Anfänger-Themen 7
K Fehlermeldung: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1 Java Basics - Anfänger-Themen 4
M Datentypen java.util.Arrays$ArrayList cannot be cast to [Ljava.lang.String; Java Basics - Anfänger-Themen 11
F Ich kenn mich nicht mehr aus - 'java.lang.NoSuchMethodError: main' in Applet? Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben