- Registriert
- 19.01.07
- Beiträge
- 116
Beim herumexperimentieren mit einem Java Programm, welches die in zwei Arrays eingelesen Daten in eine Textdatei schreiben soll, bin ich auf folgendes Problem gestoßen:
Thomas 12
Christian 14
Uwe 10
Andreas 15
Die Stelle, wo die Zeiten ausgegeben werden hängt immer von der Länge des Strings ab, so dass die Zeiten nur dann exakt untereinander stehen, wenn die Namen zufällig die selbe Länge haben!
Um diesen ästhetischen Mangel zu beheben, müsste man dem String eine bestimmte Größe bzw. eine genaue Anzahl der Zeichen inc. Leerstellen zuweisen.
Weiß jemand ob und wie das geht? Gibt es vielleicht auch eine andere Lösung?
Zum exakteren Verständnis des Problems, poste ich hier noch den Code:
Bis auf den oben beschriebenen ästhetischen Mangel läuft das Programm einwandfrei.
Vielen Dank im Voraus!!!
Thomas 12
Christian 14
Uwe 10
Andreas 15
Die Stelle, wo die Zeiten ausgegeben werden hängt immer von der Länge des Strings ab, so dass die Zeiten nur dann exakt untereinander stehen, wenn die Namen zufällig die selbe Länge haben!
Um diesen ästhetischen Mangel zu beheben, müsste man dem String eine bestimmte Größe bzw. eine genaue Anzahl der Zeichen inc. Leerstellen zuweisen.
Weiß jemand ob und wie das geht? Gibt es vielleicht auch eine andere Lösung?
Zum exakteren Verständnis des Problems, poste ich hier noch den Code:
Code:
package streams;
import java.io.*;
import java.util.Scanner;
public class In_Dateien_schreiben_2
{
public static void main(String[] args)
throws IOException
{
// Ausgabestream und Verknüpfung mit der Datei
FileWriter dateiStream = new FileWriter("test2.txt")
PrintWriter ausgabe = new PrintWriter(dateiStream);
// Verschiedene Daten zum Testen
Scanner sc = new Scanner(System.in);
String[] namen = new String[4];
int[] zeiten = new int[4];
int i;
for (i=0; i<=3; ++i)
{
System.out.print("Geben Sie den " + (i+1) + ". Namen ein: ");
namen[i] = sc.next();
System.out.print("Bitte Zeit eingeben: ");
zeiten[i] = sc.nextInt();
}
// Daten ausgeben
System.out.println("Name Zeit");
for (i=0; i<=3; ++i)
{
System.out.println(namen[i] + " " + zeiten[i]);
}
// Daten in Datei schreiben
ausgabe.println("Name Zeit");
for (i=0; i<=3; ++i)
{
ausgabe.println(namen[i] + " " + zeiten[i]);
}
ausgabe.close();
}
}
Bis auf den oben beschriebenen ästhetischen Mangel läuft das Programm einwandfrei.
Vielen Dank im Voraus!!!