null ist quasi "nicht vorhanderer, nicht definierter Speicher" und was ganz anderes als "0" oder "".
if (ListeNotizen == "0")
Damit greift zu auf einen null pointer zu, wenn die notiz noch nicht existiert und prüfts ob dort der
(noch nicht existierende string "0" ist.
Stell dir vor das bei private String[] listeNotizen = new String[10];
folgendes automatisch passiert: for (int i=0i< 10;i++) listeNotizen = null
PS: Methodennamen immer mit kleinbuchstaben beginnen lassen nur Klassennamen beginnen mit Grossbuchstaben
Hier die Lösung (nicht getestet, versuch das zu verstehen, nicht einfach abschreiben
):
[code=java]
public class NotizAnzeige
{
private String[] listeNotizen = new String[10]; // die elemente sind erstmnal alle null
private int anzahlEintraege ; //
/**
* @param a Note to be stred in a free array element
* @return null if a cannot be stored
*/
public String speichereNotiz(String a)
{
if (anzahlEintraege == 10) //evt .elnth
return null;
for (int i=0; i<listeNotizen.length; i++)
{
if (listeNotizen[i] == null) // evt auch null ist was ganz anderes als "0"
{
listeNotizen[i]=a;
anzahlEintraege++;
return a;
}
}
return null;
} // end of speichereNotiz
public void zeigeNotizen()
{
for(String s : listeNotizen) System.out.println(s);
}
public void loescheAlle()
{
for (int i=0;i < 10;i++) listeNotizen[i] = null;
anzahlEintraege=0;
} //--- end of loescheAlle()
public int getLaenge(int i)
{
if (i >= 0 && i < 10)
{ if (listeNotizen[i] != null) return listeNotizen[i].length();
}
return 0;
} //--- end of getLaenge()
public int getAnzahl() { return anzahlEintraege; }
public boolean istSortiert(int i)
{
if (i < 0 || i >= 9) return false; // 9 weil man ja auf das 9.auch zugreifen muss
int len1=0,len2=0;
if (listeNotizen[i] != null) len1 = listeNotizen[i].length();
if (listeNotizen[i+1] != null) len2 = listeNotizen[i+1].length();
if (len1 < len2) return true;
return false;
} //---- end of istSortiert()
public boolean alleSortiert()
{
for(int i=0;i < getAnzahl()-1;i++)
{
if (listeNotizen[i] == null) continue;
if (istSortiert(i) == false) return false;
}
return true;
}
[/java]
} //------------------- end of class[/code]