Hi,
ich sitze vor einer Aufgabe nur fehlt mir n bisschen der richtige Ansatz, vllt habt ihr ja eine idee.
Wie muss ich das Programm richtig aufbauen sodass alles der Aufgabenstellung entspricht?
Ich habe auch das problem das mein double in der liste List<double>mwlist; angemeckert wird, nur warum?
Zur Aufgabe: Ich habe eine Klasse Sensor, diese ist zum Verwalten der Messdaten eines Sensors.
In der Aufgabe heißt esrogrammieren Sie eine Klasse zur Verwaltung eines Sensors mit seinen Messwerten
class Sensor implements Serializable
int senid;
String senbez;
String eh;
List<double>mwlist;
Sensor(int eid, String ebez,String eeh){...},
void mwUPD(double xmw[])
Die Klasse hat einen Konstruktor mit Übergabewerten für senid,senbez und eh. Er initialisiert das Attribut mwlist mit der null-Referenz.Die Methode mwUPD() legt effektiv die Liste mwlist an und füllt die Knoten mit Werten aus xmw[].
Die Klasse sieht bis jetzt folgerndermaßen aus:
Nun zu meine Klasse SenAnw1:
Ich habe eine Datei SENSOR.TXT deren Aufbau folgendermaßen ist, SENID;SENBEZ;EH
z.B 12345;Thermometer;C°
Die Datei MW.TXT sieht folgendermaßen aus 15;23;47;23;87 usw es sind die Messwerte.
Die Aufgabenstellung sieht folgendermaßen aus:
Programmieren Sie eine Klasse SenAnw1 mit einer main()-Methode und Methoden zum zeichenorientierten Einlesen der Dateien SENSOR.TXT (dat2sen()) und MW.TXT (senLiUPD()).
Die Methode dat2sen() erzeugt für korrekte Datensätze Knoten vom Typ Sensor, deren Attribut mwlist noch null ist und kettet diese Knoten in eine Sensorliste ein.
Der Prototyp zieht folgendermaßen aus:static List<Sensor>dat2sen(BufferedReader bsen1)
Die Methode senLiUPD() prüft für korrekte Datensätze aus MW.TXT, ob ein zugehöriger Sensor bereits in der Sensorliste enthalten ist. Falls ja, wird mit dem Feld xmw[] der Messwerte des Datensatzes die Methode mwUPD() der Klasse Sensor aufgerufen. Der Rückgabewert ist die Anzahl der korrekten Datensätze.
Prototyp: static int senLiUPD(List<Sensor>senLi,BufferedReader brmw1)
Mit einer Methode senLiSerAus() werden alle Knoten der Sensorliste serialisiert in eine Dastei SENSOR.SER geschriben.
Nun zum Quelltext:
Meine Fehlermeldungen:
Compiliere J:\Sensor.java mit Java-Compiler
Sensor.java:19:11: error: no suitable method found for add(double[])
mwlist.add(xmw);
^
method List.add(int,Double) is not applicable
(actual and formal argument lists differ in length)
method List.add(Double) is not applicable
(actual argument double[] cannot be converted to Double by method invocation conversion)
1 error
Compiliere J:\SenAnw1.java mit Java-Compiler
SenAnw1.java:8:24: error: ';' expected
List<Sensor>dat2sen();
^
1 error
ich sitze vor einer Aufgabe nur fehlt mir n bisschen der richtige Ansatz, vllt habt ihr ja eine idee.
Wie muss ich das Programm richtig aufbauen sodass alles der Aufgabenstellung entspricht?
Ich habe auch das problem das mein double in der liste List<double>mwlist; angemeckert wird, nur warum?
Zur Aufgabe: Ich habe eine Klasse Sensor, diese ist zum Verwalten der Messdaten eines Sensors.
In der Aufgabe heißt esrogrammieren Sie eine Klasse zur Verwaltung eines Sensors mit seinen Messwerten
class Sensor implements Serializable
int senid;
String senbez;
String eh;
List<double>mwlist;
Sensor(int eid, String ebez,String eeh){...},
void mwUPD(double xmw[])
Die Klasse hat einen Konstruktor mit Übergabewerten für senid,senbez und eh. Er initialisiert das Attribut mwlist mit der null-Referenz.Die Methode mwUPD() legt effektiv die Liste mwlist an und füllt die Knoten mit Werten aus xmw[].
Die Klasse sieht bis jetzt folgerndermaßen aus:
Java:
import java.io.*;
import java.text.*;
import java.util.*;
class Sensor implements Serializable{
int senid;
String senbez;
String eh;
List<double>mwlist=null;
Sensor(){}
Sensor(int senid,String senbez,String eh){
this.senid=senid;
this.senbez=senbez;
this.eh=eh;
}
//xmw[] wird aus der Klasse SenAnw1 übergeben
void mwUPD(double xmw[]){
mwlist=new ArrayList<double>();
mwlist.add(xmw);
}
}
Nun zu meine Klasse SenAnw1:
Ich habe eine Datei SENSOR.TXT deren Aufbau folgendermaßen ist, SENID;SENBEZ;EH
z.B 12345;Thermometer;C°
Die Datei MW.TXT sieht folgendermaßen aus 15;23;47;23;87 usw es sind die Messwerte.
Die Aufgabenstellung sieht folgendermaßen aus:
Programmieren Sie eine Klasse SenAnw1 mit einer main()-Methode und Methoden zum zeichenorientierten Einlesen der Dateien SENSOR.TXT (dat2sen()) und MW.TXT (senLiUPD()).
Die Methode dat2sen() erzeugt für korrekte Datensätze Knoten vom Typ Sensor, deren Attribut mwlist noch null ist und kettet diese Knoten in eine Sensorliste ein.
Der Prototyp zieht folgendermaßen aus:static List<Sensor>dat2sen(BufferedReader bsen1)
Die Methode senLiUPD() prüft für korrekte Datensätze aus MW.TXT, ob ein zugehöriger Sensor bereits in der Sensorliste enthalten ist. Falls ja, wird mit dem Feld xmw[] der Messwerte des Datensatzes die Methode mwUPD() der Klasse Sensor aufgerufen. Der Rückgabewert ist die Anzahl der korrekten Datensätze.
Prototyp: static int senLiUPD(List<Sensor>senLi,BufferedReader brmw1)
Mit einer Methode senLiSerAus() werden alle Knoten der Sensorliste serialisiert in eine Dastei SENSOR.SER geschriben.
Nun zum Quelltext:
Java:
import java.io.*;
import java.text.*;
import java.util.*;
class SenAnw1{
public static void main(String args[]){
FileReader fr1=new FileReader("SENSOR.TXT");
BufferedReader bsen1=new BufferedReader(fr1);
List<Sensor>dat2sen();
FileReader fr2=new FileReader("MW.TXT");
BufferedReader brmw1=new BufferedReader(fr2);
}
static List<Sensor>dat2sen(BufferedReader bsen1){
String Sensordaten=bsen1.readLine();
List<Sensor>dat2sen;
dat2sen=new LinkedList<Sensor>();
while(Sensordaten!=null){
try{
String Datensätze[]=Sensordaten.split(";");
dat2sen.add(Sensordaten);
Sensordaten=bsen1.readLine();
}
catch(RuntimeException e){
System.out.println("Konvertierung fehlgeschlagen!");
}
}
bsen1.close();
return Sensor;
}
static int senLiUPD(List<Sensor>senLi,BufferedReader brmw1){
return;
}
}
Meine Fehlermeldungen:
Compiliere J:\Sensor.java mit Java-Compiler
Sensor.java:19:11: error: no suitable method found for add(double[])
mwlist.add(xmw);
^
method List.add(int,Double) is not applicable
(actual and formal argument lists differ in length)
method List.add(Double) is not applicable
(actual argument double[] cannot be converted to Double by method invocation conversion)
1 error
Compiliere J:\SenAnw1.java mit Java-Compiler
SenAnw1.java:8:24: error: ';' expected
List<Sensor>dat2sen();
^
1 error
Zuletzt bearbeitet: