Klassen Methodenaufruf mit Klassendatentyp

Williams

Neues Mitglied
Hallo zusammen,

ich bin seit einigen Stunden dran eine Methode mit dem Datentyp einer Hauptklasse in einer Anwendungsklasse zu programmieren, aber komme nicht weiter. Ich hoffe Ihr könnt mir bei diesem Problem weiterhelfen und erklären können wo bei mir der Fehler ist, weil im Internet finde ich nichts dazu. Es wird mir nur der Funktionskopf als falsch angezeigt mit der Meldung:
This method must return a result of type MessR

Java:
public class MessR {

   
    public String mnam;
    public double mw[];
    private int ctr;
   
   
   
    public int getCTR() {
        return ctr;
    }
   
    public MessR(String mnam2, double mw2[], int ctr2) {
        mnam = mnam2;
        mw = mw2;
        ctr = ctr2;
    }
   
   

    double mittel(int ctr3, double mw3[]) {
       
        int i;
        double speicher = 0;
       
        switch(ctr3) {
       
            case 1:            for(i=0; i<mw3.length; ++i) {
                                speicher += mw3[i];
                            }
                           
                            speicher = speicher/mw3.length;
                            return speicher;
                            //break;
                           
            default:            System.out.println("Fehlermeldung");
                            return -999.99;
                            //break;
        }
       
    }
   
   
   
}


Hier ist meine Anwendungsklasse, übrigens sollte ich in den Konstruktor laut Vorgabe ("", null, -1) einsetzen und nur eine get-Methode programmieren für ctr:

Java:
import java.io.*;

public class MessAnw {

  

    public static void main(String args[]) {

   

        csv2MessR();

      
    } //ENDE DER MAIN() !!!!!

  
    static MessR csv2Messr (String ecsv) {

      

        int i;

        String b[];

        MessR a = new MessR("", null, 1);

      

        ecsv = einstring();



              

        b = ecsv.split(";");

      

        for(i=0; i<b.length; ++i) {



          

            if(i==0) {

                try {

              

                    a.mnam = b[0];

                  

                } catch (Exception e) {

                    System.out.println("Fehlermeldung");

                    a = new MessR("", null, -1);

                  

                }

            }

          

            if(i>0) {

                try {

                    a.mw[i-1] = Double.parseDouble(b[i]);

                  

                } catch(Exception e) {

                    System.out.println("Fehlermeldung");

                    a = new MessR("", null, -1);

                  

                }

            } //ENDE IF SCHLEIFE FÜR I >0

          

            a = new MessR(a.mnam, a.mw, 1);

          

        }//ENDE FOR-SCHELIFE

    }//ENDE FUNKTION

  

  

  

  

  

  

  

    public static String einstring() //Funktion zum Einlese eines Strings

    { int rc;

      String st1= new String();

      BufferedReader in

            = new BufferedReader(new InputStreamReader(System.in));

      do

      { rc=0;     //Fehlervermutung

        try

        { st1=in.readLine().trim();

          rc=1;   //kein Fehler <=> rc=1

        }

        catch(IOException e)

        { System.out.println("Schwerer Inputfehler: "+e.getMessage());

          System.out.println("Bitte korrekten Stringwert eingeben:");

        }

        

      } while (rc==0);

      return st1;

    }



}
 

Williams

Neues Mitglied
Erstmal danke für den Tipp!

Ich probiere grad meinen Code umzuändern, aber kriege es einfach nicht gebacken.
Könntest du mir anhand meines Codes zeigen wie es richtig geht ?

Gruß
 

Neue Themen


Oben