数组基本操作
1.按照列遍历二维数组
/**
* 按照列遍历数组
*/
public static void byCol(int m, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.println(array[j][i]);
}
}
}
2.获取数组中和最大的一列
/**
* 获取数组中和最大的一列
*
* @param m 行
* @param n 列
* @return
*/
public static double getMaxColSum(int m, int n) {
double result = 0;
for (int i = 0; i < n; i++) {
double temp = 0;
for (int j = 0; j < m; j++) {
temp += array[j][i];
}
result = Math.max(temp, result);
}
return result;
}
3.获取数组中和最大的行
/**
* 获取数组中和最大的行
*
* @param m 行
* @param n 列
* @return
*/
public static double getMaxRowSum(int m, int n) {
double result = 0;
for (int i = 0; i < m; i++) {
double temp = 0;
for (int j = 0; j < n; j++) {
temp += array[i][j];
}
result = Math.max(result, temp);
}
return result;
}
完整代码
public class ArrayOps {
public static int[][] array = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
public static void main(String[] args) {
int row = array.length;
int col = array[0].length;
byCol(row, col);
System.out.println(getMaxColSum(row, col));
System.out.println(getMaxRowSum(row, col));
}
/**
* 按照列遍历数组
*/
public static void byCol(int m, int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
System.out.println(array[j][i]);
}
}
}
/**
* 获取数组中和最大的一列
*
* @param m 行
* @param n 列
* @return
*/
public static double getMaxColSum(int m, int n) {
double result = 0;
for (int i = 0; i < n; i++) {
double temp = 0;
for (int j = 0; j < m; j++) {
temp += array[j][i];
}
result = Math.max(temp, result);
}
return result;
}
/**
* 获取数组中和最大的行
*
* @param m 行
* @param n 列
* @return
*/
public static double getMaxRowSum(int m, int n) {
double result = 0;
for (int i = 0; i < m; i++) {
double temp = 0;
for (int j = 0; j < n; j++) {
temp += array[i][j];
}
result = Math.max(result, temp);
}
return result;
}
}
运行结果:
1
4
7
2
5
8
3
6
9
18.0
24.0