# Summe postive Zahlen und negative Zahlen



## John_J (30. Nov 2008)

Hi,

also ich habe eine Aufgabe bei der ich irgendwie leider nicht weiterkomme, vielleicht kann mir einer helfen.

Ich muss die Summen der negativen Zahlen und der postivzen Zahlen einer Matrix jeweils addieren.

Mein Coding ist jetzt so, leider spuckt die Konsole nicht das gewünsche Ergebnis raus, kann mir vielleicht einer helfen.

danke


```
class posMatrizen3x3
  {




  void berechne(double a1[][])
   {
       double sump=0;
   double summ=0;
   double p1=0;
   double p2=0;

     for(int i=0;i<a1.length;i++)
    {
    
    for(int j=0; j<a1.length;j++)
     {
     if(a1[i][j]>0)
     {
       sump=sump+a1[i][j];

     }

     if(a1[i][j]<0)
     {
       summ=summ+a1[i][j];
     }
     
     p1=p1+sump;
     p2=p2+summ;

     }

    }

     System.out.println("Die summe der positiven zahlen lautet " +p1);
     System.out.println("Die summe der negative zahlen lautet " +p2);
   }

    public static void main(String[] args)
    {
      double [][]a={{1.0, 2.0, 3.0, -4.0, -5.0, -6.0},
                   {3.0, -4.0, -6.0, 5.0, -7.0, 5.0},
                   {5.0, -3.0, 3.0, 5.0, 6.0, -7.0}};


      posMatrizen3x3 o1= new posMatrizen3x3();
      o1.berechne(a);
    }


  }
```


----------



## didjitalist (30. Nov 2008)

```
for(int i=0;i<a1.length;i++) 
    { 
    
    for(int j=0; j<a1.length;j++)
```
wäre nur für nen quadratisches array korrekt, dein array ist aber nicht quadratisch. also eher sowas wie 'j < a1_.length' statt nur 'j < a1.length'_


----------



## SlaterB (30. Nov 2008)

den Sinn von p1 und p2 musst du mal erklären..

```
class posMatrizen3x3 {

	void berechne(double a1[][]) {
		double sump = 0;
		double summ = 0;

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

			for (int j = 0; j < a1[i].length; j++) { // hier ne wichtige Änderung
				if (a1[i][j] > 0) {
					sump = sump + a1[i][j];

				}

				if (a1[i][j] < 0) {
					summ = summ + a1[i][j];
				}

			}
		}

		System.out.println("Die summe der positiven zahlen lautet " + sump);
		System.out.println("Die summe der negative zahlen lautet " + summ);
	}

	public static void main(String[] args) {
		double[][] a = { { 1.0, 2.0, 3.0, -4.0, -5.0, -6.0 },
				{ 3.0, -4.0, -6.0, 5.0, -7.0, 5.0 },
				{ 5.0, -3.0, 3.0, 5.0, 6.0, -7.0 } };

		posMatrizen3x3 o1 = new posMatrizen3x3();
		o1.berechne(a);
	}

}
```


----------



## John_J (30. Nov 2008)

wenn ich da was änder spuckt er ArraryIndexoutofboundssexception raus..... ohh mann...


----------



## John_J (30. Nov 2008)

SlaterB hat gesagt.:
			
		

> den Sinn von p1 und p2 musst du mal erklären..
> 
> ```
> class posMatrizen3x3 {
> ...



ja die waren am anfang nicht drinnen... ich hatte lange rumgespielt und geändert.....


----------



## John_J (30. Nov 2008)

SlaterB hat gesagt.:
			
		

> den Sinn von p1 und p2 musst du mal erklären..
> 
> ```
> class posMatrizen3x3 {
> ...



irgendwie funktioniert es noch immer nicht.... es kommen zu große zahlen raus.....285 und -390


----------



## hdi (30. Nov 2008)

Bei mir kommt bei dem von dir zuletzt geposteten code folgendes raus:

Die summe der positiven zahlen lautet 38.0
Die summe der negative zahlen lautet -42.0


----------



## John_J (30. Nov 2008)

sry war mein fehler  :roll: .... ist wohl bissle zu spät


----------



## John_J (30. Nov 2008)

noch ne frage....

also diesen syntax a1_.length  muss ich bei allen matrizen benutzen oder? weil bei 4X4 gibts auch ein fehler... geht nur mit a1.length ....._


----------



## hdi (30. Nov 2008)

nein bei quadratischen Matrizen dürfte das kein Fehler geben. Geh mal schlafen


----------



## John_J (30. Nov 2008)

edit


----------



## John_J (30. Nov 2008)

sry    bin echt verpeilt grad... hab mein fehler gefunden geh nun schlafen


----------



## hdi (30. Nov 2008)

brav  :bae:


----------

