Frage von marioboeck, 59

Methode Erstellen, die in der selben Klasse wie die main Methode ist und dann vererben?

Ich habe eine Aufgabe von meinem Ausbilder bekommen, bei der ich nicht weiter komme. ich soll eine Methode erstellen, die in der selben Klasse ist, wie die Main-Methode, einen Array implementieren. Dann soll ich beliebige Zahlen (die ich mir selber aussuchen kann) mit der Hilfe eines Arrays summieren. Die zweite Methode soll den Array übergeben bekommen und diesen berechnen. Die Summe soll an die Main- Methode zurück gegeben werden. In der Main Methode soll anschließend das summierte aufgerufen und ausgegeben werden (über das Konsolen Fenster). Hat einer eine Idee wie das funktionieren soll ?

Danke im vorraus, mfg Mario

Expertenantwort
von KnusperPudding, Community-Experte für Java, 19

Das ist ein bisschen wirr geschrieben, aber versuchen wir es dennoch:

Deine Aufgabenstellung ist es:

Eine Methode zu schreiben, welche eine Zahlen-Array als Parameter entgegen nimmt und die Summe zurück liefert.

Korrekt?

Mir fehlen nur ein paar nicht unwichtige Details, weshalb ich mal ins Blaue rate:

  • Es sollen nur Ganzzahlen addiert werden
  • Die Methode soll nicht an eine Instanz gebunden sein
  • Die Methode soll den Zielwert als Rückgabe-Wert haben, wobei die Ausgabe der Methode in der Main-Methode erfolgen soll
  • Du schreibst von zwei Methoden, ich vermute, mit der zweiten meinst du die main.

Was die Aufgabenstellung betrifft, so hast du die Informationen:

  1. Methode muss einen Rückgabe-Wert liefern
  2. Methode muss einen Array-Parameter haben
  3. Dadurch, dass die Methode nicht an eine Klasse gebunden ist, kann man diese statisch gestalten

Hieraus müsste deine Methode bereits so lauten:

private static int addiereZahlen(int[] zahlen)

> innerhalb der Methode deklarierst du eine Variable vom Typen deiner Methode (in dem Beispiel: int).

> Initialisierst die Variable mit 0

> Durchläufst die Array via Schleife und addierst die Werte der Array zu deiner Variable

> Du gibst die Variable aus.

Wenn du deine Methode fertig hast, kannst du via

System.out.println(addiereZahlen(zahlenarray));

das Ergebnis in deiner Main-Methode ausgeben lassen.

Kommentar von marioboeck ,

ja ich soll in dem Array vorher fest gelegte (meinerseits beliebige Ganzzahlen) addiert werden. Es soll erst das Array in der Main-Methode erstellt werden, dann soll die sekundäre Klasse das Array übetragen bekommen und dort soll es summiert werden. anschließend soll die Main- Methode das ausgerechnete ausgeben.

Kommentar von KnusperPudding ,

Es soll erst das Array in der Main-Methode erstellt werden

Eine int-Array lässt sich schnell deklarieren und mit werten initialisieren:

int[] meineZahlen = {1, 2, 3, 4, 5, 6, 7, 8, 9};

dann soll die sekundäre Klasse das Array übetragen bekommen 

Also eine zweite Klasse oder eine zweite Methode?

Das Beispiel für die Methode wäre im oben genannten Beispiel.

Solltest du etwas nicht verstanden haben, bitte mit einer genauen Frage ansprechen, wo es am Verständnis scheitert.

Kommentar von marioboeck ,

Eine weitere Methode in der selben Klasse.

Kommentar von KnusperPudding ,

Entsprechend würde ich dann auf meine eigentliche Antwort an dem Punkt verweisen. Siehe Methode:  addiereZahlen


PS: Das Thema Vererbung in Java dann wieder nochmal was ganz anderes.

Antwort
von DerDudude, 40

Irgendwie ergibt sich mir die Reihenfolge nicht.

Hab ich das richtig verstanden, dass du ein paar Zahlen hast, die in ein Array sollen und die Zahlen aus dem Array sollen anschließend aufsummiert werden?

Dann würde es vielleicht Sinn machen, wenn du mit der Main die zweite Methode aufrufst und ihr als Array die erste Methode übergibst, die ein Array zurückgibt. Die zweite Methode gibt dann ja die Summe aus dem Array zurück.

Würde dann etwa so aussehen:

zweite(erste(1, 8, 7));

Antwort
von Plueschtier94, 34
1. Hauptfunktion (main)
arrayreturn = summieren(array)
2. Funktion (summieren)
Array summieren lassen
return array
Kommentar von Plueschtier94 ,

Sorry, ich kann absolut nicht die Syntax von Java, also habe ich es auch nicht probiert.

Aber Semantisch hast du es so zu lösen. 

Kommentar von marioboeck ,

Ich bin blutiger Anfänger, dass sagt mir grade nicht sehr viel :/ Aber danke trotzdem.

Kommentar von Plueschtier94 ,

Wenn du blutiger Anfänger bist, sollte dein Ausbilder da anders an die Sache rangehen. 

Du deklarierst eine Funktion. 
In dieser Funktion sammelst du dir dein Array aus beliebigen Zahlen zusammen. 
Dann rufst du eine weitere Funktion auf in der du das Array die Zahlen summieren lässt. 
Diesen Wert gibst du an die andere Funktion zurück. 

Tada :D 
Wie gesagt, den Ablauf wie es funktioniert kann ich dir nennen, bzw hab ich ja. Die Syntax und die "Formeln" musst du leider selber machen. 

Antwort
von marioboeck, 1

Ich habe es immer noch nicht verstanden aber danke für eure mühe.

Keine passende Antwort gefunden?

Fragen Sie die Community