黑马程序员技术交流社区

标题: 二维数组的遍历和求和 [打印本页]

作者: 黑色皮肤的马    时间: 2016-1-12 23:20
标题: 二维数组的遍历和求和
定义一个二维数组:
int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
其中分四个季度,每个一维数组就是每个季度的三个不同的员工的销售额。
我想统计一下每一个季度的销售额和年度总销售额,怎么做?


作者: 放养的饼干    时间: 2016-1-12 23:40
第一季度遍历[0][i]
第二季度遍历[1][i]
第三季度遍历[2][i]
第四季度遍历[3][i]
全年的就遍历arr[][]
用累加思想将值相加
作者: 黑色皮肤的马    时间: 2016-1-13 09:20
放养的饼干 发表于 2016-1-12 23:40
第一季度遍历[0]
第二季度遍历[1]
第三季度遍历[2]
  1. class Array_BianLi {
  2.         public static void main(String[] args) {
  3.                 int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
  4.                 bianLi(arr);
  5.         }

  6.         public static void bianLi(int[][] arr) {
  7.                 int count = 0;//定义年度销售总额
  8.                 for (int x = 0;x < arr.length ;x++ ) {
  9.                         System.out.print("第"+(x+1)+"季度销售额分别是");
  10.                         int sum = 0;//定义季度销售额
  11.                         for (int y = 0;y < arr[x].length ;y++ ) {
  12.                                 count += arr[x][y];
  13.                                 sum += arr[x][y];
  14.                                 System.out.print(arr[x][y]+" ");
  15.                         }
  16.                         System.out.print("第"+(x+1)+"季度销售总额是"+sum);
  17.                         System.out.println();
  18.                 }
  19.                 System.out.println("年度销售总额是:"+count);
  20.         }
  21. }
复制代码

谢谢大神,我自己试了试,这样就可以实现我想要的结果了。
作者: 超级小鱼    时间: 2016-1-13 10:04
咱们是一个班的啊, 这是我的代码   我把每一个功能都写成了一个函数  有点罗嗦
  1. class Company {
  2.         public static void main(String[] args) {
  3.                 int[][] arr = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
  4.                 getAll(arr);
  5.                 int sum = getSum(arr);
  6.                 System.out.println();
  7.                 System.out.println("--------------我是一条快乐的分割线-------------------------");
  8.                 System.out.println();
  9.                 System.out.println("公司年销售额的总和是:    "+sum);
  10.         }
  11.         public static void getAll(int[][] arr){  //遍历数组,并在每一行开头加汉字
  12.                 for (int i = 0;i < arr.length ;i++ ) {
  13.                         char Han = getHanZi(i+1);
  14.                         System.out.print("第"+Han+"季度:"+"\t");
  15.                         for (int j = 0;j < arr[i].length ;j++ ) {
  16.                                 if (j==2) {
  17.                                         System.out.print(arr[i][j]);
  18.                                 }else
  19.                                         System.out.print(arr[i][j]+",");
  20.                         }
  21.                 System.out.println("");
  22.                 }
  23.         }
  24.         public static char getHanZi(int x){     //将对应的数字与大写汉字对应
  25.                 char[] arr = {' ','一','二','三','四'};
  26.                 return arr[x];
  27.         }
  28.         public static int getSum(int[][] arr){ //遍历数组并求和
  29.                 int sum = 0;
  30.                 for (int i = 0;i < arr.length ;i++ ) {
  31.                         for (int j = 0;j < arr[i].length ;j++ ) {
  32.                                 sum += arr[i][j];
  33.                         }
  34.                 }
  35.                 return sum;
  36.         }
  37. }
复制代码


作者: z195061    时间: 2016-1-13 13:36
谢谢分享,就是这个不懂
作者: 一大把手    时间: 2016-1-13 14:02
forfor就可以了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2