# Adding numbers in a 2 dimensional array

• 11-26-2007, 08:53 PM
j0shizabeast
Adding numbers in a 2 dimensional array
Hey guys I'm new to java and I am looking for some help. I want to create a program that will add up the numbers in a two dimensional array. I have most of the code down but I keep getting errors.

Here's my code:

class averageNum {
// initialize # of rows
int[][] arr = { { 1, 0, 12, -1 },
{ 7, -3, 2, 5 },
{ -5, -2, 2, 9 }
};

int x;
int sum;

public int sum(int num)
{
int total = 0;
}

public int test(int sum){

for (int i = 0; i < 3; i++)

for (int j = 0; j < 4; i++)
sum = sum + arr[i][j];

}

public static void main (String[] args){

System.out.println(sum);
}

I get an error in my main method saying "non static variable sum cannot be referenced from a static context"

Any help would greatly be appreciated!
• 11-26-2007, 10:19 PM
ShoeNinja
You need to instantiate an instance of your averageNum class. (BTW it is a good idea to being all of your class names with a capitol letter.) Before you do that, your averageNum needs some touching up.

Code:

```public class AverageNum{     //initialize # of rows     int[][] arr = { { 1, 0, 12, -1 },           { 7, -3, 2, 5 },           { -5, -2, 2, 9 }           };     public AverageNum(){     //always need a constructor.     }         int x;  //not sure why you need this     int sum;  //you may not need this either.  you can just return the sum from the method         //this method doesn't do anything     public int sum(int num){         int total = 0;         return total;     }         public int test(){         int sum = 0;         for(int i = 0; i < arr.length; i++){             for(int j = 0; j < arr[i].length; j++){                 sum = sum + arr[i][j];             }         }         return sum;     }         public static void main(String[] args){         AverageNum foo = new AverageNum();         System.out.println(foo.test());         } }```
• 11-27-2007, 05:31 AM
j0shizabeast
ok I understand now. Thank you very much appreciate the help!