Java 阵列工作不正常

Java 阵列工作不正常,java,arrays,Java,Arrays,嗨,我正在尝试计算2d阵列的频率。我试图以某种方式显示频率,例如,如果一个表如下所示: 0:120 1:20-1 2:102 我希望能够像这样计算频率: 0:02 1 1:20-1 2:1 因此,表应该是0在第一列中出现了多少次,1在第一列中出现了多少次,依此类推。我不确定我有什么问题。我注意到,当它进入第二次迭代时,它停止工作或者只给出0 到目前为止,我的代码是 for (int col =0; col< s ; col++){ System.out.print(

嗨,我正在尝试计算2d阵列的频率。我试图以某种方式显示频率,例如,如果一个表如下所示:

0:120

1:20-1

2:102

我希望能够像这样计算频率:

0:02 1

1:20-1

2:1

因此,表应该是0在第一列中出现了多少次,1在第一列中出现了多少次,依此类推。我不确定我有什么问题。我注意到,当它进入第二次迭代时,它停止工作或者只给出0

到目前为止,我的代码是

    for (int col =0; col< s ; col++){
        System.out.print(col+ ": ");
        for (int row = 0; row<s; row++)
        {
            x=val[row][col];
            if (table[row][col]==row)
            {
                System.out.print(x++ + " ");
            }

            //System.out.print(val[col][row]+" ");
            if (row+1==s)
                System.out.println();
        }
    }




}
for(int col=0;col对于(int row=0;row假设为规则形状数组。
为了使它更健壮,您需要检测最大列数

int[][] table = new int[][]{{1,2,0},{2,0,1},{1,0,2}};
int[][] result = new int[table.length][table.length];
for (int row = 0; row<result.length;row++){
  Arrays.fill(result[row], 0);
}

// iterating through multi dimensional arrays it is easier to start
// with dimension 0
for (int row = 0; row<table.length;row++){
  for (int col =0; col< table[row].length ; col++){
    // the row in the result table equals the value of the cell.
    int index = table[row][col];
    result[index][col]++;
  }
}

System.out.println(Arrays.deepToString(result));
int[]]table=newint[][{{1,2,0},{2,0,1},{1,0,2};
int[][]结果=新的int[table.length][table.length];

对于(int row=0;row)这个问题与您原来的问题有何不同?