Archiv verlassen und diese Seite im Standarddesign anzeigen : [JAVA] NullPointerException
Hi,
Ich habe folgendes Problem und komme einfach nicht drauf, woran es liegen kann :(
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();
Titel[i] = tmp.substring(0, tmp.indexOf(',')+1); // Fehlerzeile
Das ganze ist in ner IF
Dann gebe ich eine Zeichenkette einn zb.:
Titel,1:10
und bekomme.
Exception in thread "main" java.lang.NullPointerException
Weiß einer von euch weiter?
P3AC3MAK3R
26.07.2007, 12:24
Laß Dir doch einmal vor der Zeile, in der der Fehler auftritt, den Inhalt der Variablen tmp ausgeben.
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:
Bitte geben sie den Namen des 1. Titels inklusive der Dauer an (getrennt durch einen Beistrich) zb.: Titel,2:10
Titel,1:10
Titel,1:10
P3AC3MAK3R
26.07.2007, 12:30
Das Array "Titel" ist ordnungsgemäß initialisiert worden?
private String[] Titel;
Und dann halt noch die "längenangabe"
supersucker
26.07.2007, 12:38
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.
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...
P3AC3MAK3R
26.07.2007, 12:40
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?
supersucker
26.07.2007, 12:41
Aber wenn du mir "behilflich" sein willst, aknnst du ihn dir ja hernehmen und selbst formatieren...
Ja, ist klar, ne?
Viel Erfolg noch.
@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
P3AC3MAK3R
26.07.2007, 12:47
@peacemaker: Danke für die Hilfe
Kein Problem. ;)
Powered by vBulletin® Version 4.2.0 Copyright ©2013 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.