C
chrissie110
Gast
Hiiiilfeeee!!!!
Ich hab hier ein ziemlich langes Java-Programm... nun will ich es aber irgendwie übersichtlicher gesalten und nicht den gesamten Quelltext in der Main - Methode haben...
leider habe ich darin noch gar keine Erfahrungen.... vielleicht geht es irgendwie mit Schnittstellen??
Über Hilfe wäre ich sehr sehr dankbar...
Hier mein jetziger Quelltext:
Dies ist nur ein "kleiner" Ausschnitt...
Es handelt sich hierbei um die Files von 2 verschiedenen Wetterstationen, deren Sensoren einzeln ausgelesen werden sollen... desweiteren muss die eine Wetterstation auf einige Werte der anderen zugreifen können....
Ich hab hier ein ziemlich langes Java-Programm... nun will ich es aber irgendwie übersichtlicher gesalten und nicht den gesamten Quelltext in der Main - Methode haben...
leider habe ich darin noch gar keine Erfahrungen.... vielleicht geht es irgendwie mit Schnittstellen??
Über Hilfe wäre ich sehr sehr dankbar...
Hier mein jetziger Quelltext:
Code:
import java.io.*;
import java.lang.*;
import java.util.*;
public class Wetterstationen { // Datei wird zeilenweise eingelesen
public static void main(String[] args) throws IOException {
try {
BufferedReader b = new BufferedReader (new InputStreamReader (
new FileInputStream ("epsa.dat")));
String s = null;
while ((s = b.readLine ()) != null) {
int anf0 = s.indexOf("EPSA");
if (anf0 != -1)
{
String s1 = s.substring(0,anf0);
// String wert0 = s.substring(anf0, s.length());
for (int j = 0; j<s.length(); j++)
{
s = s.replaceAll(" "," ");
}
String[] a1 = s.split(" ");
String x0 = (a1[0]);
System.out.println(" Station: " + x0);
String x1 = (a1[3]);
System.out.println(" Datum: " + x1);
String x2 = (a1[4]);
System.out.println(" Uhrzeit: " + x2);
System.out.println(" ");
}
int anf1 = s.indexOf("D0"); // Windrichtung
if (anf1 != -1)
{
String s1 = s.substring(0,anf1);
String wert1 = s.substring(anf1, s.length());
System.out.println (" Windrichtung:");
System.out.println (" ");
System.out.println (wert1);
System.out.println (" ");
for (int j = 0; j<s.length(); j++)
{
s = s.replaceAll(" "," ");
}
String[] a = s.split(" ");
double d1 = Double.parseDouble (a[1]);
System.out.println(" 10 - Minuten - Mittelwert: " + d1 + " Grad");
double d2 = Double.parseDouble (a[2]);
System.out.println(" Minutenwert: " + d2 + " Grad");
System.out.println(" ");
}
int anf2 = s.indexOf("V0"); // Windgeschwindigkeit
if (anf2 != -1)
{
String s1 = s.substring(0,anf2);
String wert2 = s.substring(anf2, s.length());
System.out.println (" Windgeschwindigkeit:");
System.out.println (" ");
System.out.println (wert2);
System.out.println (" ");
for (int j = 0; j<s.length(); j++)
{
s = s.replaceAll(" "," ");
}
String[] a = s.split(" ");
double d1 = Double.parseDouble (a[3]);
double v1 =Math.round(d1*1.85);
System.out.println(" Mittelwert letzte Stunde: " + v1 + " km/h");
double d2 = Double.parseDouble (a[9]);
double v2 = Math.round(d2*1.85);
System.out.println(" Maximalwert letzte Stunde: " + v2 + " km/h");
double d3 = Double.parseDouble (a[2]);
double v3 = Math.round(d3*1.85);
System.out.println(" Aktueller Wert: " + v3 + " km/h");
double d4 = Double.parseDouble (a[1]);
double v4 = Math.round(d4*1.85);
System.out.println(" 10 - Minuten - Mittelwert: " + v4 + " km/h");
double d5 = Double.parseDouble (a[8]);
double v5 = Math.round(d5*1.85);
System.out.println(" Windspitze letzte 10 min: " + v5 + " km/h");
System.out.println(" ");
}
b.close ();
} catch ( FileNotFoundException e) // Datei gibt's nicht
{
System.err.println( "Datei gibt's nicht.");
}
catch ( IOException e ) // Schreib- Leseprobleme
{
System.err.println( "Schreib- Leseprobleme");
}
catch ( Exception e) // alles andere
{
System.err.println( "Noch ein anderer Fehler.");
}
try {
BufferedReader b = new BufferedReader (new InputStreamReader (
new FileInputStream ("vaisalamessage.txt")));
String s = null;
while ((s = b.readLine ()) != null) {
int anf0 = s.indexOf("2003");
if (anf0 != -1)
{
String s1 = s.substring(0, anf0);
System.out.println("VAISALA-Station:");
for (int j = 0; j<s.length(); j++) {
s = s.replaceAll(" "," ");
}
String[] k = s.split(" ");
String y0 = (k[0]);
System.out.println("Datum: " + y0);
String y1 = (k[1]);
System.out.println("Uhrzeit: " + y1);
System.out.println(" ");
}
int anf1 = s.indexOf("RH");
if (anf1 != -1)
{
String s1 = s.substring(0,anf1);
String wert1 = s.substring(anf1, s.length());
System.out.println(" Luftfeuchtigkeit: ");
System.out.println(" ");
System.out.println (wert1);
System.out.println(" ");
for (int j = 0; j<s.length(); j++) {
s = s.replaceAll(" "," ");
}
String[] k = s.split(" ");
double rh1 = Double.parseDouble (k[3]);
System.out.println(" Minutenwert: " + rh1 + " %");
double rh2 = Double.parseDouble (k[4]);
System.out.println(" Mittelwert letzte Stunde: " + rh2 + " %");
double rh3 = Double.parseDouble (k[5]);
System.out.println(" Maximalwert letzte Stunde: " + rh3 + " %");
double rh4 = Double.parseDouble (k[6]);
System.out.println(" Minimalwert letzte Stunde: " + rh4 + " %");
System.out.println(" ");
}
int anf2 = s.indexOf("P");
if (anf2 != -1)
{
String s1 = s.substring(0,anf2);
String wert2 = s.substring(anf2, s.length());
System.out.println(" Luftdruck: ");
System.out.println( " ");
System.out.println (wert2);
System.out.println(" ");
for (int j = 0; j<s.length(); j++) {
s = s.replaceAll(" "," ");
}
String[] k = s.split(" ");
double p1 = Double.parseDouble (k[3]);
System.out.println(p1);
double p2 = Double.parseDouble (k[4]);
System.out.println(p2);
double p3 = Double.parseDouble (k[5]);
System.out.println(p3);
double p4 = Double.parseDouble (k[6]);
System.out.println(p4);
}
}
b.close ();
} catch ( FileNotFoundException e) // Datei gibt's nicht
{
System.err.println( "Datei gibt's nicht.");
}
catch ( IOException e ) // Schreib- Leseprobleme
{
System.err.println( "Schreib- Leseprobleme");
}
catch ( Exception e) // alles andere
{
System.err.println( "Noch ein anderer Fehler.");
}
}
}
Dies ist nur ein "kleiner" Ausschnitt...
Es handelt sich hierbei um die Files von 2 verschiedenen Wetterstationen, deren Sensoren einzeln ausgelesen werden sollen... desweiteren muss die eine Wetterstation auf einige Werte der anderen zugreifen können....