# Summenbildung und Split Funktion



## littleengineer01 (28. Apr 2017)

Hallo 
bin hier relativ neu und hätte ein Problem beim Programmieren folgenden Quellcodes
Ich soll die Summe aus dem Parameter bilden. Bisher habe ich das programmiert, dennoch wird es als Fehler angezeigt.
kann mir jemand helfen?
Danke

package summenbildung;

public class Summenbildung {

   public static void main(String[] args) {
        String ganzeZahlen = "1/2/3/4/5/6";
        String s[] = ganzeZahlen.split("/");
        //System.out.println("Anzahl der Zahlen ist:" + ganzeZahlen.length());
        System.out.println("Die Summe von ganzeZahlen ist:" + bildeSumme(ganzeZahlen));


        }
    private static int bildeSumme(String s) {
        int i = Integer.parseInt("123456");

    }
}


----------



## krgewb (28. Apr 2017)

Weil du keine return-Anweisung in der Methode *bildeSumme* hast.


----------



## littleengineer01 (29. Apr 2017)

Die habe ich auch eingefügt.. die richtige Antwort wurde auch herausgegeben, aber das kann doch nicht richtig sein. ich hätte doch gleich alles addieren können.. 
package summenbildung;

public class Summenbildung {

   public static void main(String[] args) {
        String ganzeZahlen = "1/2/3/4/5/6";
        String s[] = ganzeZahlen.split("/");
        System.out.println("Die Summe von ganzeZahlen ist:" + bildeSumme(ganzeZahlen));


        }
    private static int bildeSumme(String s) {
        int i = Integer.parseInt("123456");
       return 1+2+3+4+5+6;

    }
}


----------



## littleengineer01 (29. Apr 2017)

Die habe ich auch eingefügt.. die richtige Antwort wurde auch herausgegeben, aber das kann doch nicht richtig sein. ich hätte doch gleich alles addieren können.. 
package summenbildung;

public class Summenbildung {

   public static void main(String[] args) {
        String ganzeZahlen = "1/2/3/4/5/6";
        String s[] = ganzeZahlen.split("/");
        System.out.println("Die Summe von ganzeZahlen ist:" + bildeSumme(ganzeZahlen));


        }
    private static int bildeSumme(String s) {
        int i = Integer.parseInt("123456");
       return 1+2+3+4+5+6;

    }
}


----------



## Robat (29. Apr 2017)

Dein Code gibt zwar das richtige Ergebnis aus aber nur für den Fall dass du wirklich die Zahlenfolge `123456` hast.
Das ist mit Sicherheit nicht der Sinn der Aufgabe.

Du bekommst bei deiner Methode einen String übergeben mit dem Pattern `x1/x2/x3/../xn`. 
Du musst in deiner Methode also deinen String splitten. (so wie du es bereits in der main-Methode machst). 
Jetzt hast du ein String Array mit deinen Zahlen. Nun musst du das Array durchlaufen (bspw. mit einer for-Schleife oder for-each Schleife) und dir somit jedes einzelne Element anschauen. Dieses Element parst du dann in einen Integer mit der `Integer#parseInt(String s)` Methode. 
Nun musst du die einzelnen Elemente nur noch aufsummieren. Dazu legst du dir in deiner bildSumme(String s) Methode am besten local eine int Variable an und addierst dort dann jedes Element auf.

Gruß Robert


----------



## Kababär (2. Mai 2017)

Genau so wird's gemacht wie's @Robat gesagt hat.


----------

