A
Anubis_X
Gast
Hi!
Ich habe folgendes Programm geschrieben, bekomme jedoch einen kleinen Fehler (evtl. nur ein kleiner Denkfehler mit der Variable "anza")
Hier mal das Programm:
und die Datei Stadtds:
an folgender Stelle bekomme ich dann immer den Nullpointer, hab schon einiges probiert, aber nichts half...
st.stadt=stemp[0];
das Feld st will ich dann später nach Namen sortieren lassen, wenn der Fehler vielleicht mal behoben ist...
Vielen Dank schonmal.
MfG Anubis
Ich habe folgendes Programm geschrieben, bekomme jedoch einen kleinen Fehler (evtl. nur ein kleiner Denkfehler mit der Variable "anza")
Hier mal das Programm:
Code:
import java.io.*;
public class stadt {
public static void main(String args[]) throws IOException
{
int wahl;
Stadtds stadt=new Stadtds();
// Menue-Optionen
do
{
System.out.println("Bitte waehlen Sie aus folgenden Moeglichkeiten:");
System.out.println("\n0. Programm beenden");
System.out.println("1. Datensaetze erfassen");
System.out.println("2. Anzeige der Datensaetze");
wahl = IO1.einint();
switch (wahl)
{
case 0: break;
case 1: erfass(); //Datensaetze erfassen
continue;
case 2: ausgabe(); //Ausgabe der Datei STADT.TXT
continue;
default:System.out.println("UNGUELTIGE EINGABE!");
}
}
while(wahl != 0);
}
public static void erfass() throws IOException
{
int anz, i;
FileWriter stdds = new FileWriter("STADT.TXT");
PrintWriter pd1 = new PrintWriter(stdds);
System.out.println("Wieviele Datensaetze moechten Sie Speichern?");
anz=IO1.einint();
anz--;
Stadtds std=new Stadtds();
for (i=0;i<=anz;i++)
{
System.out.println(i+". Datensatz");
System.out.println("Geben Sie den Stadtnamen ein:");
std.stadt=IO1.einstring();
System.out.println("Geben Sie das Land ein:");
std.land=IO1.einstring();
System.out.println("Geben Sie die Einwohnerzahl ein:");
std.ewanz=IO1.eindouble();
pd1.println(std.stadt+";"+std.land+";"+std.ewanz);
}
pd1.close();
}
public static void ausgabe() throws IOException
{
FileReader stdds =new FileReader("STADT.TXT");
BufferedReader pd1= new BufferedReader(stdds);
String s= new String();
int sort, anzahl=0;
while (s!=null)
{
System.out.println(s);
s=pd1.readLine();
anzahl++;
}
pd1.close();
do
{
System.out.println("\nMoechten Sie die Datei sortieren lassen?");
System.out.println("\n0.nein");
System.out.println("1. ja");
sort=IO1.einint();
switch (sort)
{
case 0: break;
case 1: sort(anzahl); //Datensaetze erfassen
continue;
default:System.out.println("UNGUELTIGE EINGABE!");
}
}
while(sort != 0);
}
public static void sort(int anza) throws IOException
{
FileReader stds =new FileReader("STADT.TXT");
BufferedReader pd1= new BufferedReader(stds);
String s= new String();
String stemp[]= new String[2];
String trenn= new String (";");
int i;
anza--;
Stadtds st[] = new Stadtds[anza];
for (i=0; i<anza; i++)
{
s=pd1.readLine();
stemp=s.split(trenn);
st[i].stadt=stemp[0];
st[i].land=stemp[1];
st[i].ewanz= Double.valueOf(stemp[2]).doubleValue();
System.out.println(st[i].land);
}
pd1.close();
}
}
und die Datei Stadtds:
Code:
public class Stadtds {
String stadt=new String();
String land=new String();
double ewanz;
}
an folgender Stelle bekomme ich dann immer den Nullpointer, hab schon einiges probiert, aber nichts half...
st.stadt=stemp[0];
das Feld st will ich dann später nach Namen sortieren lassen, wenn der Fehler vielleicht mal behoben ist...
Vielen Dank schonmal.
MfG Anubis