Hallo @all,
ich habe ein kleines Problem mit einem Programm welches ich für unseren Lehrer schreiben soll .
Das Programm soll den Kraftstoff verbrauch von einem Fahrzeug verwalten, allerdings komme ich momentan noch nicht einmal über den Konstruktor hinaus. Ich habe bis jetzt folgenden Quellcode produziert:
Dateiname: benzin_ue2.java
Dateiname: Aufruf_ue2.java
Wenn ich das Programm jetzt in dieser form kompiliere und ausführe bricht mir er mir mit der Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Aufruf_ue2.main(Aufruf_ue2.java:69)
weg, wobei Zeile 69 in meinem Quellcode der folgenden Anweisung entspricht:
KM_Stand[0]=Double.valueOf(Anfangskilometerstand).doubleValue();
Ich wäre über einen entsprechenden Hinweis wie ich das Programm fehlerfrei bekomme sehr dankbar. Da wir zwar bereits seit Anfang diesen Schuljahres mit Java Programmieren aber aufgrund der vielen Stundenausfälle irgendwie noch nicht wirklich etwas rumgekommen ist. :roll:
Gruß
Dan
ich habe ein kleines Problem mit einem Programm welches ich für unseren Lehrer schreiben soll .
Das Programm soll den Kraftstoff verbrauch von einem Fahrzeug verwalten, allerdings komme ich momentan noch nicht einmal über den Konstruktor hinaus. Ich habe bis jetzt folgenden Quellcode produziert:
Dateiname: benzin_ue2.java
Code:
class benzin_ue2
{
// Deklaration der Attribute
private static String kennzeichen=""; // amtliches Kennzeichen des Fahrzeuges
private static double[] km_staende; // gefahrene Strecken
private static double[] liter; // Kraftstoffverbrauch
private int zaehler=0; // Zaehler für die Anzahl der Datensätze
private int i=0; // Zaehler für die Schleife(n)
private double summe_verbrauch=0; // Gesamtsumme des Verbrauchten Kraftstoffes
private double durchschnitt_verbrauch=0; // Durschnittverbrauch
// Konstruktor
public benzin_ue2(String kfz_zeichen, double Anfangskilometer)
{
this.kennzeichen=kfz_zeichen;
this.km_staende[0]=Anfangskilometer;
}
[...]
}
Dateiname: Aufruf_ue2.java
Code:
import java.io.*;
class Aufruf_ue2
{
// Attribute
private static int Auswahl=0;
private static String Kennzeichen;
private static double[] KM_Stand=null;
private static String Anfangskilometerstand=null;
// Hauptprogramm
public static void main(String[] args)
{
// Aufbau der Verbindung zum Eingabestream
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
// Schleife für das Auswahlwahlmenü
while(Auswahl!=99)
{
System.out.println("Verwaltung des Kraftsstoffverbrauchs");
System.out.println("------------------------------------\n");
System.out.println(" 1. Erfassung der Grunddaten von dem Fahrzeug");
System.out.println(" 2. Erfassung einer neuen Fahrt");
System.out.println(" 3. Ausgabe der Anzahl der gespeicherten Fahrten");
System.out.println(" 4. Ausgabe des amtlichen Kennzeichens");
System.out.println(" 5. Ausgabe des Verbrauchs für eine Fahrt");
System.out.println(" 6. Ausgabe des durchschnittlichen Verbrauchs für alle erfaßten Fahrten\n");
System.out.println("99. Beenden\n");
try
{
// Abfrage des ausgewählten Menüpunktes
System.out.println("Auswahl: ");
Auswahl = Integer.parseInt(in.readLine());
}
catch(Exception e)
{
System.out.println(e);
}
// Auswertung des Menüpunktes
switch(Auswahl)
{
// Erfassung der Grunddaten von dem Fahrzeug
case 1: // Abfrage des Kennzeichen des Fahrzeuges
System.out.println("Geben Sie bitte das Kennzeichen des Fahrzeuges an");
try
{
Kennzeichen=in.readLine();
}
catch(Exception e)
{
System.out.println(e);
}
// Abfrage des Anfangkilometerstandes des Fahrzeuges
System.out.println("Geben Sie bitte den Anfangskilometerstand an");
try
{
Anfangskilometerstand=in.readLine();
}
catch(Exception e)
{
System.out.println(e);
}
KM_Stand[0]=Double.valueOf(Anfangskilometerstand).doubleValue();
benzin_ue2 Auto1=new benzin_ue2(Kennzeichen, KM_Stand[0]);
System.out.println(KM_Stand);
break;
// Erfassung einer neuen Fahrt
case 2: System.out.println("Auswahlpunkt 2!!!");
break;
// Ausgabe der Anzahl der gespeicherten Datensätze
case 3: System.out.println("Auswahlpunkt 3!!!");
break;
// Ausgabe des amtlichen Kennzeichens
case 4: System.out.println("Auswahlpunkt 4!!!");
break;
// Ausgabe des Verbrauchs für eine Fahrt
case 5: System.out.println("Auswahlpunkt 5!!!");
break;
// Ausgabe des durchschnittlichen Verbrauchs für alle erfaßten Fahrten
case 6: System.out.println("Auswahlpunkt 6!!!");
break;
}
}
}
}
Wenn ich das Programm jetzt in dieser form kompiliere und ausführe bricht mir er mir mit der Fehlermeldung:
Exception in thread "main" java.lang.NullPointerException
at Aufruf_ue2.main(Aufruf_ue2.java:69)
weg, wobei Zeile 69 in meinem Quellcode der folgenden Anweisung entspricht:
KM_Stand[0]=Double.valueOf(Anfangskilometerstand).doubleValue();
Ich wäre über einen entsprechenden Hinweis wie ich das Programm fehlerfrei bekomme sehr dankbar. Da wir zwar bereits seit Anfang diesen Schuljahres mit Java Programmieren aber aufgrund der vielen Stundenausfälle irgendwie noch nicht wirklich etwas rumgekommen ist. :roll:
Gruß
Dan