Programm tut nicht was es soll :)

Immo Primus

Mitglied
Guten Abend,
Ich habe ein Problem mit einem von mir geschriebenen Programm:
Das Programm soll von der Kommandozeile übergebene Zahlen in ein Array speichern und diese dann mit einer zweiten Methode addieren und anschließend ausgeben. Leider gibt mein Programm einfach nur die Zahlen aus...
Habe es schon hinbekommen das es all dies in einer Methode tut, allerdings habe ich meine Probleme mit unterschiedlichen Methoden in einer Klasse und würde es gerne üben..
Vielen Dank!

Java:
public class addieren
{   
    public static void  main(String[] args)
   {   
       int n = args.length;
       int s = 0;
       int i;
       for ( i = 0; i < n; i++)
       {
          int erg = summe( s, Integer.parseInt(args[i]));
          System.out.println(erg);
       }
       
    }
   public static int summe( int a, int b)
    {
       
       
       int erg = a + b;
           return erg;
           
           
       

    }
}
 
Hier nochmal das addieren in einer Methode..
Kann mir jemand erklären wo genau der Unterschied liegt?
Java:
public class addieren
{
    public static void main (String[] args)
    {
     int n = args.length, s = 0;
     int i;
     for (i = 0; i < n; i = i + 1)  
       s = s + Integer.parseInt(args[i]);
     System.out.println(s);
    }
}
 
Du veränderst s nicht.
versuche mal:
Java:
public class addieren
{  
    public static void  main(String[] args)
   {  
       int s = 0;
       for (int i = 0; i < args.length; i++)
       {
          s = summe( s, Integer.parseInt(args[i]));
          System.out.println(s);
       }
      
    }
   public static int summe( int a, int b)
    {
           return a + b;
    }
}
 
Vielen Dank für die Antwort, ist der "Lösung" auch einen schritt näher, wenn ich dem Programm die Zahlen 2, 2, 2 übergebe ist die Ausgabe nun 2, 4, 6. Die gesuchte ausgabe ist leider nur die 6. Versteh einfach nicht wieso es bei dem Programm bei dem alles in einer Methode ist funktioniert...
 

Zurück
Oben