2013-10-21 30 views
0

我想只获得第2行的总和。我的代码编译但不打印任何东西。一些指导? 另外,构建第一个问题,我将如何访问第3列中的最大元素?特定行的Java数组总和

import java.util.*; 

public class TestCode { 

    public static void main(String[] args) { 
    int array[][] = {{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}}; 
    int sum = 0; 
    //print(array); 
    } 
    public static void print(int list[][]) { 
     for(int row = 0; row < list.length;row++) { 
     int[] sum = new int [3]; 
     for(int column = 0; column < list[row].length; column++) { 
      sum[1] = list.length; 
     } 
     System.out.println(sum); 
     } 
    } 
} 
+0

你有两个不同的总和。一个是int,另一个是int数组。 – gjman2

+0

嗯,因为你的'print'方法调用被注释掉了? – Shobit

+0

在主要方法中,您没有调用任何计算和打印总和 – upog

回答

0

尝试

public class Test { 
    public static void main(String[] args) { 
     int array[][] = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, { 10, 11, 12 } }; 
     FindLargestInColumn(array, 2); 
     FindSumforRow(array,2); 
    } 

    public static void FindLargestInColumn(int list[][], int index) { 
     int largest = -1; 
     for (int[] row : list) { 
      if (row[index] > largest) 
       largest = row[index]; 
     } 
     System.out.println("The Largest value in column " + (index)+ " is " + largest); 
    } 
    public static void FindSumforRow(int list[][], int rowIndex) { 
     int sum = 0; 
     int[] row = list[rowIndex]; 
     for (int value : row) { 
      sum = sum + value; 
     } 
     System.out.println("The Sum of value in row " + (rowIndex)+ " is " + sum); 
    } 
} 
+0

的功能,谢谢!你的解决方案回答了我的两个问题。我是java新手,所以这对我有很大帮助! – jSeesFor3ver

0

试试这个代码

 public static void print(int list[][]) { 
    int sum = 0; 
    int arrSum[] = new int[3]; 
    for (int column = 0; column < list[1].length; column++) { 
     arrSum[column] = list[1][column]; 
     sum += list[1][column]; 
    } 
    System.out.println("array " + Arrays.toString(arrSum) + " sum =" +sum); 
} 
0

这是你在找什么,请纠正我,如果我误解了你的疑问。

public static void main(String[] args) throws UnknownHostException { 
    int array[][] = {{1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}}; 
     int sum = 0; 
     print(array,2); // 2 here is rowNumber, can be replaced with other no 


    } 


public static void print(int list[][], int rowNumber) { 
     for(int row = 0; row < list.length;row++) { 
     int sum =0; 
     if(row == (rowNumber-1)){ 
     for(int column = 0; column < list[row].length; column++) { 
      sum += list[row][column]; 
     } 
     System.out.println(sum); 
     } 

     } 
    } 
+0

非常感谢!你帮助澄清解决方案! – jSeesFor3ver

+0

请标记解决方案,这将阻止其他用户提供冗余解决方案。 –