// Das ist die GUI-Klasse
// Über einen JFileChooser kann man eine Datei auswählen.
public class Netz3D extends JFrame
{
public Netz3D (String title)
{
setTitle(title);
init();
}
...
public void init()
{
...
}
// Wenn ich den Button klicke, wird FillArrays aufgerufen,
// wobei der Dateiname (infile) weitergegeben wird
public void AusgleichenActionPerformed (ActionEvent evt)
{
FillArrays fa = new FillArrays(anzKoord, anzBeob, anzGruppen,
Pfad, infile, outfile);
}
...
public static void main (String[] args)
{
try
{
UIManager.setLookAndFeel
(UIManager.getSystemLookAndFeelClassName());
}
catch(Exception e)
{
e.printStackTrace();
}
new Netz3D("Netz3D-Programm");
}
}
// Diese Klasse liest mit BufferedReader Daten aus dem infile und
// schreibt sie in die Arrays
public class FillArrays
{
public FillArrays(int anzKoord,
int anzBeob,
int anzGruppen,
String Pfad,
String infile,
String outfile)
{
// Hier werden die Arrays mit Hilfe bestimmter Methoden gefüllt.
...
// Wenn die Arrays gefüllt sind, wird von hier die Rechen-
// Klasse aufgerufen
Ausgleich agl = new Ausgleich(nahkoor, beob, GruppeWerte,
beobinfo, Unbekannte, GruppeInfo,
PktInfo, alpha, sapri, u,
Ellipsoid, Koordsys, outfile);
}
// Ausgleich.java ist die Berechnungsklasse. Hier wird wie schon
// erwähnt mit vielen und
// vor allem großen Arrays gerechnet.
public class Ausgleich
{
public Ausgleich(double[][] nahkoor,
double[][] beob,
double[][] GruppeWerte,
int[][] beobinfo,
int[][] Unbekannte,
String[][] GruppeInfo,
int[] PktInfo,
double alpha,
double sapri,
int u,
String Ellipsoid,
String Koordsys,
String dateiname)
{
...
}
// Vielleicht hilft es dir (bzw. mir). Oder verwirrt dich das?
// nochmal zur Info: Die Arrays in der Berechnungsklasse haben
// insgesamt 175431 Felder