NullPointerException

das-mo

Mitglied
Hi,
Ich bekomme bei meinem Programm immer eine Nullpointerexception in der Methode LineareFunktion.getSchnitt() und ich hab keine Ahnung wo die her kommt:

Hauptklasse
[Java]package linearefunk;
import java.io.*;

public class Hauptklasse {
public static void main(String[] args) throws IOException{

int nummer;
int nummer2;
int anzahl = 5;
double[] wert = new double[5];
LineareFunktion[] lf = new LineareFunktion[anzahl];

InputStreamReader inStream = new InputStreamReader( System.in ) ;
BufferedReader stdin = new BufferedReader( inStream );

System.out.println("Wie viele Funktionen möchten Sie erstellen?");
anzahl = Integer.parseInt(stdin.readLine());

for (int y = 0; y < anzahl; y++)
{
System.out.println("Die Funktion lf" + (y+1) + " wurde erstellt. Möchten Sie (1) Steigung und Y-A.-abschnitt, (2) 2 Punkte (x/y) oder (3) 1 Punkt (x/y) und die Steigung eingeben?");
switch (Integer.parseInt(stdin.readLine()))
{
case 1:
System.out.println("Geben Sie nun jeden Wert einzeln ein (m, b)");
wert[0] = Double.parseDouble(stdin.readLine());
wert[1] = Double.parseDouble(stdin.readLine());
lf[y] = new LineareFunktion(wert[0], wert[1]);
break;

case 2:
System.out.println("Geben Sie nun jeden Wert einzeln ein (x1, y1, x2, y2)");
wert[0] = Double.parseDouble(stdin.readLine());
wert[1] = Double.parseDouble(stdin.readLine());
wert[2] = Double.parseDouble(stdin.readLine());
wert[3] = Double.parseDouble(stdin.readLine());
lf[y] = new LineareFunktion(wert[0], wert[1], wert[2], wert[3]);
break;

case 3:
System.out.println("Geben Sie nun jeden Wert einzeln ein (x1, y1, x2, y2)");
wert[0] = Double.parseDouble(stdin.readLine());
wert[1] = Double.parseDouble(stdin.readLine());
wert[2] = Double.parseDouble(stdin.readLine());
lf[y] = new LineareFunktion(wert[0], wert[1], wert[2]);
break;
}
}

for (int y = 0; y < anzahl; y++)
{
lf[y].getFunktion("lf" + (y+1));
}

System.out.println("Mit welcher Funktion wollen Sie weiter arbeiten? (1,2,3,...)");
nummer = Integer.parseInt(stdin.readLine());
System.out.println("Möchten Sie (1) den Schnittpunkt mit einer anderen Funktion berechnen oder (2) eine Wertetabelle erstellen?");
switch (Integer.parseInt(stdin.readLine()))
{
case 1:
System.out.println("Welcher Schnittpunkt soll berechnet werden? (1,2,...)");
nummer2 = Integer.parseInt(stdin.readLine());
Punkt S = lf[nummer].getSchnitt(lf[nummer2]);
System.out.println("Der Schnittpunkt liegt bei S(" + S.getX() + "|" + S.getY() + ").");
}
}
}[/Java]

Klasse für die Linearen Funktionen
[Java]package linearefunk;

public class LineareFunktion {

private double m;
private double b;

public LineareFunktion (double st, double ab)
{
m = st;
b = ab;
}
public LineareFunktion (double x1, double y1, double x2, double y2)
{
m = (y2 - y1) / (x2 - x1);
b = y1 - (m * x1);
}
public LineareFunktion (double x, double y, double st)
{
m = st;
b = y - (m * x);
}

public void getFunktion (String n)
{
System.out.println("Die Funkttion " + n + " lautet: y=" + m + "*x+" + b);
}

public double getSteigung ()
{
return m;
}

public double getAbschnitt ()
{
return b;
}

public double getNullstelle ()
{
return -b / m;
}

public Punkt getSchnitt (LineareFunktion lfu)
{
double x = (b - lfu.getAbschnitt()) / (lfu.getSteigung() - m);
double y = m*x+b;
Punkt S = new Punkt ("S", x, y);
return S;
}
}[/Java]

Klasse Punkt
[Java]package linearefunk;

public class Punkt {

private String name;
private double x;
private double y;

public Punkt () {}
public Punkt(double xw, double yw)
{
x = xw;
y = yw;
}
public Punkt(String n, double xw, double yw)
{
name = n;
x = xw;
y = yw;
}
public Punkt(Punkt Pu)
{
name = Pu.getName();
x = Pu.getX();
y = Pu.getY();
}

public void setName (String n)
{
name = n;
}

public String getName ()
{
return name;
}

public void setX (double xw)
{
x = xw;
}

public void setY (double yw)
{
y = yw;
}

public double getX ()
{
return x;
}

public double getY ()
{
return y;
}
}[/Java]
 
Zuletzt bearbeitet:
S

SlaterB

Gast
der Code ist vorbildlich ausführlich, aber die main-Methode ist ja eine Katastrophe,
um bis evtl. zum Fehler zu kommen muss man ja 5-10x irgendwas eingeben mit jeweils Milliarden verschiedener Möglichkeiten,
soll man die denn alle ausprobieren bis zufällig eine Fehlerkonstellation auftritt?

wie einfach wäre es, wenn du verrätst, mit welchen Eingaben beispielsweise der Fehler erscheint,
und die ganz logische Kosequenz ist dann, in der main-Methode (wenigstens für diesen Forum-Beitrag hier, sinnvoll eigentlich immer zum Testen)
auf Eingaben zu verzichten, kodiere doch direkt hin:
Java:
main {
  // Funktion x mit Parametern y, z erstellen
  // Funktion a mit Parametern b, c erstellen
  // Schnitt von x und a berechnen
}
dann muss man nur auf Ausführen klicken und ist schon beim Fehler,
siehst du das ein? wäre mir viel wichtiger als dieser beliebige Fehler,
grundsätzliches Denken unterscheidet einen intelligenten Menschen vom dummen Computer

---

eine Exception tritt bei mir mit meinen bescheidenen Testversuchen nicht auf, jedenfalls nicht in der Methode,
in der Main-Methode BEI diesem Aufruf dagegen schon,
die erste Funktion liegt auf Array-Index 0 (siehe y-Schleife),
deine Eingabe
[c]System.out.println("Mit welcher Funktion wollen Sie weiter arbeiten? (1,2,3,...)");[/c]
hat mich aber (auch?) zum Aufruf von Array-Index 1 geleitet, an Position 1 steht aber null im Array -> NullPointerException
ist es das?

edit: ich hatte sparsamerweise auch 1 mit 1 gekreuzt, bei 1 mit 2 wird dann der Fehler wirklich erst in der Methode kommen,
wie ja die weiteren Post auch ergeben
 
Zuletzt bearbeitet von einem Moderator:

Raziell

Bekanntes Mitglied
Wahrscheinlich weil lfu null ist würde ich jetzt mal behaupten :)

Du solltest mal diese Stelle prüfen bzw. debuggen :):

Java:
 Punkt S = lf[nummer].getSchnitt(lf[nummer2]);

Wobei S nichts aussagt und klein geschrieben werden sollte.
 

das-mo

Mitglied
java.lang.NullPointerException

at linearefunk.LineareFunktion.getSchnitt(LineareFunktion.java:46)

at linearefunk.Hauptklasse.main(Hauptklasse.java:63)

Exception in thread "main"

Das hier?
 

AmunRa

Gesperrter Benutzer
wenn du z.b 3 Funktionen erstellst

und nacher den Schnittpunkt zwischen 1 und 2 berechnest bekommst du keine NPE aber den SChnittpunkt zwischen der zweiten und dritten Funktion und nicht wie zwischen der ersten und zweiten.

wenn du aber nur zwei erstellst und dann die 1 und 2 berechnen möchstest kommt eine NPE weil es an
Index 2 keinen Funktion gibt.

EDIT:

EDIT: Ah ich muss immer nummer -1 nehmen oder?

JA
 

das-mo

Mitglied
Jetzt wird zwar der Schnittpunkt ausgegeben aber das sieht so aus:
[Java]Der Schnittpunkt liegt bei S(-Infinity|-Infinity).
[/Java]
 

AmunRa

Gesperrter Benutzer
Was hast du jetzt wie geändert? und welche funktion hast du mit welcher Funktion geschnitten?


z.b zwei Funktionen mit der Steigung eins aber einen andere Y-Verschiebung eingibst kommt natürlich Infinity raus, da ja kein Schnittpunkt vorhanden ist.

bei mir funktionierts, ich hab bisher aber nie eine Funktion anders als mit der Steigung und einer Y Verschiebung erstellt
 

das-mo

Mitglied
ich hab immer nummer -1 genommen.
Ja ok doofer Fehler 2ma gleiche Steigung^^. Aber bekanntlich schneiden sich parallelen ja im unendlichen ;-).
Was heißt das Infinity denn und woher kommt das? Ich hab sowas noch nie gesehen.
 

Mofi

Bekanntes Mitglied
ich hab immer nummer -1 genommen.
Ja ok doofer Fehler 2ma gleiche Steigung^^. Aber bekanntlich schneiden sich parallelen ja im unendlichen ;-).
Was heißt das Infinity denn und woher kommt das? Ich hab sowas noch nie gesehen.

Infinity ist Englisch und heißt einfach Unendlichkeit :)

eidt: zu langsam wie es scheint :p
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M NullPointerException: Cannot read the array length because "this.Kinder" is null Java Basics - Anfänger-Themen 1
H Liste Knoten NullPointerException Java Basics - Anfänger-Themen 7
C Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 10
LePetitChat1 Arrays - NullPointerException? Java Basics - Anfänger-Themen 14
berserkerdq2 Nullpointerexception, obwohl ich Array initialisiere? Java Basics - Anfänger-Themen 1
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
missy72 Klassen Objekt Array NullPointerException Java Basics - Anfänger-Themen 3
Jose05 Nullpointerexception Java Basics - Anfänger-Themen 7
emx-zee Erste Schritte NullPointerException, Array mit zufälligen Zahlen füllen Java Basics - Anfänger-Themen 2
Jose05 Nullpointerexception bei Umwandlung von String zu int Java Basics - Anfänger-Themen 2
H Java NullPointerException Java Basics - Anfänger-Themen 4
YaU Vererbung erstellt NullPointerException? Java Basics - Anfänger-Themen 4
D Hilfe beim Erzeugen eines Arrays NullPointerException wird ausgelöst Java Basics - Anfänger-Themen 11
L Threads Komischer NullPointerException Java Basics - Anfänger-Themen 2
H Fehler: NullPointerException und ich weiß net warum Java Basics - Anfänger-Themen 4
F Fehlermeldung java.lang.NullPointerException Java Basics - Anfänger-Themen 4
Avalon NullPointerException beim Mocken Java Basics - Anfänger-Themen 6
D NullPointerException in foreach loop Java Basics - Anfänger-Themen 1
D java.lang.NullPointerException Java Basics - Anfänger-Themen 19
T Bufferedwriter code Nullpointerexception Java Basics - Anfänger-Themen 4
D NullPointerException im Array Java Basics - Anfänger-Themen 4
X java.lang.NullPointerException fehler ? Java Basics - Anfänger-Themen 1
B java.lang.NullPointerException bei javafx Java Basics - Anfänger-Themen 10
J NullPointerException beim Klonnen eines Arayys und beim aufrufen einer Methode Java Basics - Anfänger-Themen 2
V NullPointerException Java Basics - Anfänger-Themen 2
S NullPointerException während ResultSet Java Basics - Anfänger-Themen 7
V NullPointerException, wenn Key und Value null sind Java Basics - Anfänger-Themen 2
scratchy1 NullPointerException Java Basics - Anfänger-Themen 19
U Was löst meine NullPointerException aus? (Vererbung) Java Basics - Anfänger-Themen 12
F Wie kann ich diese NullPointerException umgehen?! Java Basics - Anfänger-Themen 41
dapzoo Compiler-Fehler Beim Werte verteilen in Objektarray NullPointerException Java Basics - Anfänger-Themen 4
W Optional<T> - NullPointerException Java Basics - Anfänger-Themen 37
Jascha NullPointerException vs NumberFormatException Java Basics - Anfänger-Themen 5
L Variablen NullPointerException bei Dateigröße (Nr.1) Java Basics - Anfänger-Themen 4
M Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 13
D NullPointerException umgehen Java Basics - Anfänger-Themen 17
Z Objekt Array führt zum NullPointerException Java Basics - Anfänger-Themen 2
W NullPointerException obwohl nicht null? Java Basics - Anfänger-Themen 3
W ArrayList NullPointerException Java Basics - Anfänger-Themen 4
A NullPointerException Java Basics - Anfänger-Themen 6
S NullPointerException Java Basics - Anfänger-Themen 4
T OOP Wörterbuch NullPointerException Java Basics - Anfänger-Themen 4
R Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 10
O NullPointerException Java Basics - Anfänger-Themen 2
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
L Variablen Unerklärliche NullPointerException Java Basics - Anfänger-Themen 2
E Compiler-Fehler nullPointerException in verschachteltem Modell Java Basics - Anfänger-Themen 6
DaCrazyJavaExpert Threads NullPointerException Java Basics - Anfänger-Themen 8
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
kodela NullPointerException Java Basics - Anfänger-Themen 12
R Taschenrechner NullPointerException Java Basics - Anfänger-Themen 1
H java.lang.NullPointerException Java Basics - Anfänger-Themen 4
H NullPointerException obwohl Objekt angelegt wurde Java Basics - Anfänger-Themen 1
A Threads Reentrantlock | NullpointerException möglicher Deadlock? Java Basics - Anfänger-Themen 0
K Compiler-Fehler NullPointerException lösen Java Basics - Anfänger-Themen 16
G java.lang.NullPointerException Java Basics - Anfänger-Themen 3
P Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 1
E Compiler-Fehler java.lang.NullPointerException Java Basics - Anfänger-Themen 2
S Methoden Methode funktioniert nicht | NullPointerException Java Basics - Anfänger-Themen 6
F NullpointerException bei zweidimensionalem Array Java Basics - Anfänger-Themen 2
Z OOP - Array ständig NullPointerException Java Basics - Anfänger-Themen 4
J Verstehe die NullPointerException nicht Java Basics - Anfänger-Themen 1
T Nullpointerexception und es wird nichts angezeigt Java Basics - Anfänger-Themen 15
H NullPointerException, aber wieso? Java Basics - Anfänger-Themen 5
B ProcessMessage NullPointerException Java Basics - Anfänger-Themen 11
shiroX Compiler-Fehler NullPointerException Java Basics - Anfänger-Themen 9
MrSnake ItemListener mit NullPointerException Java Basics - Anfänger-Themen 3
J java.lang.NullPointerException in meiner JavaFXControllerKlasse Java Basics - Anfänger-Themen 26
M NullPointerException Java Basics - Anfänger-Themen 8
B Vererbung NullPointerException Java Basics - Anfänger-Themen 38
D Communications link failure | java.lang.NullPointerException Java Basics - Anfänger-Themen 3
G NullPointerException Java Basics - Anfänger-Themen 1
J NullpointerException Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Nullpointerexception trotz Ordentlicher Initialisierung Java Basics - Anfänger-Themen 4
F java.lang.NullPointerException, kann aber nicht sein! Java Basics - Anfänger-Themen 4
M String-Vergleich und NullPointerException Java Basics - Anfänger-Themen 4
D Java Fehler: NullPointerException Java Basics - Anfänger-Themen 1
M Vergleich zweier Array Stellen mit equals/NullpointerException Java Basics - Anfänger-Themen 9
X Problem mit NullPointerException Java Basics - Anfänger-Themen 2
K NullPointerException in der Hashtable Java Basics - Anfänger-Themen 4
S Interpreter-Fehler Hilfestellung bei einer NullPointerException Java Basics - Anfänger-Themen 1
S GraphNode --- Dijkstra Algorithmus : NullPointerException Java Basics - Anfänger-Themen 1
L NullPointerException Java Basics - Anfänger-Themen 11
M Nullpointerexception??? Java Basics - Anfänger-Themen 2
W NullPointerException bei DefaultListModel Java Basics - Anfänger-Themen 5
N NullPointerException bei Konsolenausgabe Java Basics - Anfänger-Themen 5
J Klasse in Klasse; NullPointerException Java Basics - Anfänger-Themen 8
R NullPointerException wegen JPanel oder doch nicht ? Java Basics - Anfänger-Themen 7
Q NullPointerException Java Basics - Anfänger-Themen 5
H NullPointerException Java Basics - Anfänger-Themen 5
T Threads MultiThreading NullPointerException Java Basics - Anfänger-Themen 7
K NullPointerException wird geworfen, bitte um Hilfe! Java Basics - Anfänger-Themen 7
O Objekt weitergeben Meth Class NullPointerException Java Basics - Anfänger-Themen 2
J Char-Array - NullPointerException Java Basics - Anfänger-Themen 3
M Compiler-Fehler Java suckt - java.lang.NullPointerException Java Basics - Anfänger-Themen 12
S Array wird nicht übernommen NullPointerException Java Basics - Anfänger-Themen 6
S Datentypen List.toString wirft NullPointerException Java Basics - Anfänger-Themen 5
L Compiler-Fehler Exception in thread "main" java.lang.NullPointerException Java Basics - Anfänger-Themen 2
H Compiler-Fehler NullPointerException bei .length, Konstruktor fehlerhaft? Java Basics - Anfänger-Themen 3
B JRadioButton wechsel gibt NullPointerException Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben