[JAVA] NullPointerException

Buchi

Buchi

Routinier
Hi,
Ich habe folgendes Problem und komme einfach nicht drauf, woran es liegen kann :(

Code:
System.out.println("Bitte geben sie den Namen des "
+ (i + 1)
+ ". Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10");
tmp = tasta.next();
[B]Titel[i] = tmp.substring(0, tmp.indexOf(',')+1);[/B] // Fehlerzeile
Das ganze ist in ner IF
Dann gebe ich eine Zeichenkette einn zb.:
Code:
Titel,1:10
und bekomme.
Code:
Exception in thread "main" java.lang.NullPointerException

Weiß einer von euch weiter?
 
Laß Dir doch einmal vor der Zeile, in der der Fehler auftritt, den Inhalt der Variablen tmp ausgeben.
 
Code:
for (int i = 0; i < tasta.nextInt(); i++) {
System.out
.println("Bitte geben sie den Namen des "
+ (i + 1)
+ ". Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10");
tmp = tasta.next();
System.out.println(tmp);
/*Titel[i] = tmp.substring(0, tmp.indexOf(',')+1);
Laenge[i] = tmp.substring(tmp.indexOf(','), tmp.length()+1);
System.out.println(Titel[i]);*/
}
Gibt das Richtige aus:

Code:
Bitte geben sie den Namen des 1. Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10
[COLOR="Red"]Titel,1:10[/COLOR]
[COLOR="Blue"]Titel,1:10[/COLOR]
 
Das Array "Titel" ist ordnungsgemäß initialisiert worden?
 
Code:
private String[] Titel;

Und dann halt noch die "längenangabe"
 
Zuletzt bearbeitet:
Code:
for (int i = 0; i < tasta.nextInt(); i++) {
System.out
.println("Bitte geben sie den Namen des "
+ (i + 1)
+ ". Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10");
tmp = tasta.next();
System.out.println(tmp);
/*Titel[i] = tmp.substring(0, tmp.indexOf(',')+1);
Laenge[i] = tmp.substring(tmp.indexOf(','), tmp.length()+1);
System.out.println(Titel[i]);*/
}

Bei dem Code kriegt man ja Augenkrebs, formatier das mal richtig und beschreib was du machen willst und dann sehen wir weiter.

Wenn du Anfänger bist ist so ein Code ja noch ok, aber lies dir dringend mal ein paar Tutorials zu "gutem Programmierstil" durch.

private String[] Titel;

Und dann halt noch die "längenangabe"

Was nun? Initialisiert oder nicht? So wie es da steht garantiert nicht.

Poste am Besten mal alles.
 
Code:
for (int i = 0; i < tasta.nextInt(); i++) {
System.out
.println("Bitte geben sie den Namen des "
+ (i + 1)
+ ". Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10");
tmp = tasta.next();
System.out.println(tmp);
/*Titel[i] = tmp.substring(0, tmp.indexOf(',')+1);
Laenge[i] = tmp.substring(tmp.indexOf(','), tmp.length()+1);
System.out.println(Titel[i]);*/
}

Bei dem Code kriegt man ja Augenkrebs, formatier das mal richtig und beschreib was du machen willst und dann sehen wir weiter.

Wenn du Anfänger bist ist so ein Code ja noch ok, aber lies dir dringend mal ein paar Tutorials zu "gutem Programmierstil" durch.

Das ist jedtz wegen dem einfügen auf die Hp...
Aber wenn du mir "behilflich" sein willst, aknnst du ihn dir ja hernehmen und selbst formatieren...
 
Puh, da bleibt ja bald nicht mehr viel übrig. :think:

Zeig doch sicherheitshalber nochmal die Deklaration des Arrays "Titel".

Welchen Wert hat die Variable i?
 
@peacemaker: Danke für die Hilfe habs falsch initialisiert gehabt, hab a irgendwie ein 2. zeichen eingefügt, dürft angekommen sein.

@ supersucker: danke =) der Erfolg ist eingetreten, aber der augenkrebs läst zur zeit noch auf sich warten
 
Zuletzt bearbeitet:

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

BSD für Java-Developer ?

JBidWatcher: Problem bei loading Auctions in Verbindung mit mySQL

Samba 4 Gast Zugang unter Ubuntu funktioniert nicht

Akonadi startet nicht mehr

Zurück
Oben