查找数组中的差异

时间:2014-02-05 16:01:36

标签: java arrays

我不确定如何设置存储在数组差异中的差异。存储的数字应为5-(1 + 2 + 3),7-(1,2,4),8-(3,5,9):输出应为差异[0] = 1,差异[1] = 0,差异[2] = 9

  import java.util.Scanner;

    public class Main {
      public  static int[][] Array = { { 5, 1, 2, 3 }, { 7, 1, 2, 4 }, { 8,3,5,9 } };  //My 2D array//
      int [] differences = new int [3];

      public static int[] Sum(int[][] array) {
        int index = 0; //setting the index to 0//
        int temp[] = new int[array[index].length]; //making a temperary variable//
        for (int i = 0; i < array.length; i++) {
          int sum = 0;
          for (int j = 1; j < array[i].length; j++) {
            sum += array[i][j]; //going to add the rows after the first column//
          }
          temp[index] = sum;

          for(int a = 0; a<differences.length; a++){
            if(sum != array[index][0])
              sum -= array[i][j];




              System.out.println("the first integer " + array[index][0] + " the answer is " + sum); //going to print out the first integer each row and print out the sum of each row after the first column//
            index++; //index is going to increment//
          }
          return temp;
        }

        public static void main(String[] args) {
          new Main().Sum(Array);
        }
      }

输出:

    the first integer 5 the answer is 6
    the first integer 7 the answer is 7
    the first integer 8 the answer is 17

2 个答案:

答案 0 :(得分:1)

为什么在这么简单的时候,你想让你的任务复杂化? :)

public int[] Sum(int[][] array)
    {
    int sum;
    for(int i = 0; i < Array.length; i++)
        {
        sum = Array[i][0] * -1;

        for(int j = 1; j < Array[i].length; j++)
            {
            sum += Array[i][j];
            }

        differences[i] = sum;
        }

    return differences;
    }

答案 1 :(得分:0)

如果我理解你的问题,我认为你想要提出一个

differences[i] = Array[i][0] - sum  

代码中的某个地方