Das eingelesene bzw.eingegebene in der Methode "addFeature" möchte ich in der Methode "printFeatures" aufrufen. Bekomme aber folgende Fehlermeldung: NullPointerException
Das Aufrufen funktioniert in der Methode "addFeature" (habe es schon ausprobiert) und mit System.out.println habe ich es ausgegeben, es wird genau das, was ich eingegeben habe, ausgegeben. Nur wie schon gesagt, funktioniert das in der Methode "printFeatures" nicht.
Obwohl zuerst die Methode addFeature ausgeführt wird.
Einige Hinweise noch: Die Fehlermeldung verweist auf die Zeile, wo "return features[0].getDescription();" steht. Außerdem habe ich den Eingabeparameter "newfeature" auch einfach ignoriert, weil ich nicht wüsste, was ich damit anfangen sollte. Laut Angabe sollte man es aber so realisieren. Nur das ist aber eh nicht das Problem, sondern warum im features[0] in der Methode "addFeature" was drinnen steht, und in der Methode "printFeatures" aber nicht. Obwohl wie schon gesagt zuerst die Methode addFeature ausgeführt wird, wo dann der Inhalt hinkommt ist ungewiss.
Das Aufrufen funktioniert in der Methode "addFeature" (habe es schon ausprobiert) und mit System.out.println habe ich es ausgegeben, es wird genau das, was ich eingegeben habe, ausgegeben. Nur wie schon gesagt, funktioniert das in der Methode "printFeatures" nicht.
Obwohl zuerst die Methode addFeature ausgeführt wird.
Einige Hinweise noch: Die Fehlermeldung verweist auf die Zeile, wo "return features[0].getDescription();" steht. Außerdem habe ich den Eingabeparameter "newfeature" auch einfach ignoriert, weil ich nicht wüsste, was ich damit anfangen sollte. Laut Angabe sollte man es aber so realisieren. Nur das ist aber eh nicht das Problem, sondern warum im features[0] in der Methode "addFeature" was drinnen steht, und in der Methode "printFeatures" aber nicht. Obwohl wie schon gesagt zuerst die Methode addFeature ausgeführt wird, wo dann der Inhalt hinkommt ist ungewiss.
Java:
public boolean addFeature(Feature newfeature)
{
choice="Hi";
for(count=0;count<(features.length-1)&&!choice.equals("");count++)
{
System.out.println("Please enter a feature (name=description) or hit enter to return");
choice=Input.readString();
String[] split=choice.split("=");
System.out.println(choice);
if(!choice.equals(""))
{
System.out.println(split[0]);
System.out.println(split[1]);
Feature feat=new Feature(split[0],split[1]);
features[count]=feat;
}
}
return true;
}
public String printFeatures()
{
return features[0].getDescription();
}
public class Feature {
String description, name;
public Feature(String name, String description)
{
this.name=name;
this.description=description;
}
String getDescription()
{
return description;
}
String getName()
{
return name;
}
}
Zuletzt bearbeitet: