在不同行的二维数组中插入值

时间:2018-10-20 21:55:34

标签: java inria-spoon

我有一个函数可以给我这样的类的调用方法。 该类有4个被调用的方法,分别是Printx(),PrintY(),PrintY()和PrintXZ(),如下所示

 [public void printX(int a) {
        System.out.println("x is not initialized");
        x = a;
    }]
    [public void printY(int a) {
        System.out.println("y is not initialized");
        y = a;
    }, public void printY(int a) {
        System.out.println("y is not initialized");
        y = a;
    }]
    [public void printXZ(int a, int b) {
        printX(a);
        System.out.println("z is not initialized");
        z = a;
    }]
    []
    []

我在另一个方法中调用此输出,该方法将在被调用方法存在的地方插入值,另一个函数为

private static  int[][] getDirectMethodInnovacationMatrix(List<CtMethod<?>> Methodlist,CtModel model){
     int[][] DirectMetodInvocationMatrix=new int[Methodlist.size()][Methodlist.size()];
         for (int i = 0; i < Methodlist.size(); i++) { 
             for (CtMethod<?> invokedMethod : staticallyInvokedMethods(Methodlist.get(i),model))  {    
                               int index=Methodlist.indexOf(invokedMethod);
                            if(index!=-1) 
                    DirectMetodInvocationMatrix[i][index]=1;
                                      }
         }     return DirectMetodInvocationMatrix;
     }

我想要的输出应该是这样

[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 1, 1, 0, 0],[0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

我在哪里得到这样的输出

[[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [0, 0, 1, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]

您可以看到所有值都是相同的,但第三行中缺少一个。有人帮助我做错了什么吗?只是要提一下,methodlist的大小是5,indexof给我值(0,1,1,2)的输出Im可能是因为索引1在重复,但是我怎么能在第三行的索引1插入一个而不是重叠呢?第二排一个位置。

0 个答案:

没有答案