Ich habe etwa vor 2 Monaten angefeangen Java zu programmieren (als erste Sprache überhaupt...).
Nun habe ich ein Übungsprogramm zu objektorientierter Programmierung geschrieben (auch zum Üben von Vererbung und so weiter...)
Eclipse findet keinen Fehler, der Compiler ebenso, nur bekomme ich eine "Nullpointer"-Exception in Zeile 52, also hier:
Da ich aber beim Erstellen von einer neuen Instanz von Scanner nicht null als Parameter für den Konstruktor übergebe, sondern das in der vorherigen Zeile definierte cons.reader() verstehe ich das nicht.
Hilfe wäre echt nett :toll:
JD98
Nun habe ich ein Übungsprogramm zu objektorientierter Programmierung geschrieben (auch zum Üben von Vererbung und so weiter...)
Java:
import java.io.*;
import java.util.*;
class Auto {
String m_name;
int m_leistung;
int m_geschwindigkeit = 0;
Auto(String name,int leistung){
m_name=name;
m_leistung=leistung;
System.out.println("Konstruktor aufgerufen");
}
void Gas(int zahl){
m_geschwindigkeit= m_geschwindigkeit+zahl;
System.out.println("Ihr Auto faehrt nun "+m_geschwindigkeit+" km/h!");
}
void Bremsen(int zahl){
m_geschwindigkeit=m_geschwindigkeit-zahl;
System.out.println("Ihr Auto faehrt nun "+m_geschwindigkeit+" km/h!");
}
void DatenAusgeben(){
System.out.println("Name: " + m_name);
System.out.println("Leistung: " + m_leistung);
System.out.println("Aktuelle Geschwindigkeit: "+m_geschwindigkeit);
}
}
class LKW extends Auto {
int m_last;
LKW(String name,int leistung,int last){
super(name,leistung);
m_last=last;
}
void DatenAusgeben(){
System.out.println("Name: " + m_name);
System.out.println("Leistung: " + m_leistung);
System.out.println("Aktuelle Geschwindigkeit: "+m_geschwindigkeit);
System.out.println("Maximale Last: "+m_last+" Tonnen.");
}
}
class Autofahren {
public static void main(String[] args){
Console cons = System.console();
Scanner scanner = new Scanner (cons.reader());
try {
cons.printf("Auto oder LKW?");
String art = scanner.next();
if (art.equals("Auto")){
cons.printf("Auto gewählt!");
cons.printf("Name:");
String name = scanner.next();
cons.printf("Leistung:");
int leistung = scanner.nextInt();
Auto Auto = new Auto(name,leistung);
cons.printf("1: Fahren");
cons.printf("2: Daten ausgeben");
int akti = scanner.nextInt();
if (akti==1){
cons.printf("Um wie viel beschleunigen?");
int zahl1 = scanner.nextInt();
Auto.Gas(zahl1);
cons.printf("Um wie viel bremsen?");
int zahl2 = scanner.nextInt();
Auto.Bremsen(zahl2);
} if(akti==2){
Auto.DatenAusgeben();
}
} else {
//Hier muss noch weiter gemacht werden...
}
}
catch (InputMismatchException e){
System.err.println("Bitte geben sie eine Zahl ein!");
}
}
}
Eclipse findet keinen Fehler, der Compiler ebenso, nur bekomme ich eine "Nullpointer"-Exception in Zeile 52, also hier:
Java:
Scanner scanner = new Scanner (cons.reader());
Da ich aber beim Erstellen von einer neuen Instanz von Scanner nicht null als Parameter für den Konstruktor übergebe, sondern das in der vorherigen Zeile definierte cons.reader() verstehe ich das nicht.
Java:
Console cons = System.console();
Scanner scanner = new Scanner (cons.reader());
Hilfe wäre echt nett :toll:
JD98
Zuletzt bearbeitet von einem Moderator: