Wie kann ich ein int[] Array in einer Methode benutzen?

Diskutiere Wie kann ich ein int[] Array in einer Methode benutzen? im Allgemeine Java-Themen Forum; Hallo Freunde, ich muss eine bestimmte Aufgabe erledigen. Ich muss ein int[] Array erstellen, dessen Größe durch einen Konstruktor bestimmt werden...

  1. ml528
    ml528 Neues Mitglied
    Hallo Freunde,
    ich muss eine bestimmte Aufgabe erledigen. Ich muss ein int[] Array erstellen, dessen Größe durch einen Konstruktor bestimmt werden soll. Anschließend sollen die einzelnen Arraywerte durch Setter bestimmt werden und zuletzt der Mittelwert des Arrays berechnet werden. Mein Problem ist folgender: Wenn ich ein Objekt erstelle und auf die Methode zugreifen will, bekomme ich folgende Fehlermeldung:The method berechneMittelwert(int[]) in the type Mittelwert is not applicable for the arguments (Mittelwert)
    Code (Text):
    import java.lang.reflect.Array;

    public class Mittelwert {
      int[] werten;
    public Mittelwert(int wertes) {
         this.werten= new int[wertes];
       
         }
    public static void main(String[] args) {
         Mittelwert werte=new Mittelwert(3);
         werte.setarray(4,6,10);
         System.out.println(werte.berechneMittelwert(werte)); // Hier ist der Fehler bzw. die      Fehlermeldung, die ich oben beschrieben habe
         System.out.println(werte.getarray(werte)); // Hier die gleiche Meldung

           
       
    }
    public void setarray(int z, int x,int y) { //Arraywerte bestimmen
         werten[0]=z;
         werten[1]=x;
         werten[2]=y;
       
       
    }
    public int getarray(int[] herte) { //Arraywert an Stelle 0 bekommen
        return herte[0];
       
    }
    public void berechneMittelwert(int[] neu) {
        float Mw=0;
        int Summe=0;
        for(int i = 0; i<=neu.length;i++) {
        Summe+= neu[i];
        Mw= (float)Summe/neu.length;
        System.out.println(Mw);
       
       
       
        }
       
       
    }
    }
     
     
  2. Vielleicht hilft dir dieses Buch hier weiter.
  3. httpdigest
    httpdigest Bekanntes Mitglied
    Du erhältst die Fehlermeldung, weil du den Methodenaufrufen als aktuelles Argument für den Parameter des Typs `int[]` eben keinen Wert vom Typ `int[]` gibst, sondern eine Instanz vom Typ `Mittelwert` und ein `Mittelwert` ist nun mal kein `int[]`. Ein `Mittelwert` hat als Attribut/Feld ein `int[]`.

    Entferne einfach den Parameter und das Argument beim Aufruf der Methoden, da du die Methoden ja sowieso als Instanzmethoden auf einem `Mittelwert` aufrufst. Somit kennen die Methoden bereits den Mittelwert (als `this`) und du kannst einfach auf das Attribut/Feld zugreifen.
     
  4. temi
    temi Aktives Mitglied
    Was machst du denn, wenn du ein Array mit einer Größe von 42000 erstellen und den 41688. Wert setzen sollst?

    Du solltest über die Parameter der Methode "setArray()" noch einmal nachdenken.

    Die Methode "getArray()" ist übrigens relativ sinnlos. Hier gilt das gleiche wie von @httpdigest oben erwähnt: Du solltest hier auch auf die Werte in der Instanzvariablen zugreifen.
     
  5. mihe7
    mihe7 Bekanntes Mitglied
    Dein Konstruktor passt, wobei die Bezeichnung der Variablen äußerst irreführend ist.

    D. h. Du brauchst eine Methode der Art:
    Code (Java):

    public void set(int pos, int value) {
        // ...
    }
     
    Hier sähe die Methode dann so aus:
    Code (Java):

    public float berechneMittelwert() {
        // ...
        // return ...;
    }
     
     
  6. ml528
    ml528 Neues Mitglied
    danke leute ihr seid die besten :D
     
  7. kadammanali987
    kadammanali987 Neues Mitglied
    Sample Program
    Code (Java):
    import java.util. *;

    class atg {
      void a () {
       int b [] = {1,2,3,4,5,6,7};
       c (b);
      }

      void c (int b []) {
       int e = b.length;
       for (int f = 0; f <e; f ++) {
         System.out.print (b [f] + ""); // Single Space
       }
      }

      public static void main (String args []) {
       atg ob = new atg ();
       ob.a ();
      }
    }
    Code (Text):
    Output: 1 2 3 4 5 6 7
     
    Zuletzt von einem Moderator bearbeitet: 8. Jan. 2019
  8. Flown
    Flown Administrator Mitarbeiter
    Wenn man Code postet, dann bitte code-tags verwenden: [code=java]//JAVA CODE HERE[/code]
     
  9. Wenn du Java lernen möchtest, empfehlen wir dir dieses Buch hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Wie kann ich ein int[] Array in einer Methode benutzen? - Ähnliche Themen

Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen?
Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? im Forum Allgemeine Java-Themen
AudioInputStream kann nicht erstellt werden.
AudioInputStream kann nicht erstellt werden. im Forum Java Basics - Anfänger-Themen
Wie kann ich disen hash nochmal verschlüsseln?
Wie kann ich disen hash nochmal verschlüsseln? im Forum Mobile Geräte
Wie kann ich diese Funktion in Haskell umschreiben
Wie kann ich diese Funktion in Haskell umschreiben im Forum Plauderecke
Kann keine Bilder laden?
Kann keine Bilder laden? im Forum Java Basics - Anfänger-Themen
Thema: Wie kann ich ein int[] Array in einer Methode benutzen?