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.