2013-11-30 2 views
-1
public class arsum 
{ 

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

public int[] summing(int[][] array) 

{ 
    int index = 0; 
    int a[] = new int[array[index].length]; 
    for (int i = 0; i < array[0].length; i++) 
    { 
     int sum = 0; 
     for (int j = 0; j < array.length; j++) 
     { 
      sum += array[j][i]; 
     } 
     a[index] = sum; 
     System.out.println(sum); 
    } 
    return a; 
} 

public static void main(String[] args) { 
    new arsum().summing(myarray); 
} 

} 

На данный момент он распечатывает все 4 столбца, однако мне нужна только последняя сумма. Я не могу понять, как правильно его закодировать для любого общего массива.Попытка найти сумму последней колонки

Я новичок в кодировании и еще не все понял.

+1

Потратьте некоторое время, чтобы понять код, который вы уже совместно. Если вы понимаете, что у вас есть, достаточно просто работать только с последним столбцом. Вот подсказка: переменная 'i' внутри первого цикла for представляет текущий столбец. – jahroy

ответ

2

Try,

int[][] myarray = {{1, 2, 3, 4}, {5, 6, 7, 8}, {1, 2, 3, 4}}; 
    int sum = 0; 
    for (int nums[] : myarray) { 
     sum += nums[nums.length - 1]; 
    } 
    System.out.println(sum); 
0
you can also use array indexing to print sum of last column as below:- 

public static int summing(int[][] array) 

    { 
     int row = array.length; 

     int sum = 0; 

     for (int i = row - 1; i > row - 2; i--) { 
      int col = myarray[i].length; 
      for (int j = 0; j < col; j++) { 
       sum += array[i][j]; 

      } 

      System.out.println(sum); 

     } 
     return sum; 
    } 
Смежные вопросы