首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示小矩阵3x3

显示小矩阵3x3
EN

Stack Overflow用户
提问于 2012-12-17 09:41:08
回答 5查看 1.1K关注 0票数 0

我想显示矩阵的小数。首先,我有一个矩阵3x3。

1 2 3 4 5 6 7 8 9

我想显示M11 (删除第1行和第1行),所以它就像

1 3 7 9

但是用我的程序我得到了这样的东西

[经]1 2 4 0

这是我的代码:

代码语言:javascript
复制
    public static double [][] Minor (double [][] M, int bar, int kol, int maxidx){
        double [][] minor = new double [2][2];
        int mini=0, minj=0;
        for (int i=0; i<2;i++){
            for (int j=0;j<2;j++){
                if (i!=bar | j!=kol){
                    minor[mini][minj]=M[i][j];
                    minj++;
                    if (minj==(maxidx-1)){
                        mini++;
                        minj=0;
                    }
                }
            }
        }
        return minor;
    }

为了显示小调,我使用了以下代码:

代码语言:javascript
复制
for (int i=0;i<2;i++){
    for (int j=0;j<2;j++){
        System.out.print(Minor(M,1,1,3)[i][j]+" ");
    }
        System.out.println();
}

我的密码怎么了?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-12-17 09:46:27

代码语言:javascript
复制
 if (i!=bar | j!=kol)

这是按位运算符,而不是逻辑运算符,但是,整个逻辑是错误的

执行此操作

代码语言:javascript
复制
for (int i=0; i<=2;i++){
         if(i!=bar)
         {
            for (int j=0;j<=2;j++){
                if (j!=kol){
                    minor[mini][minj]=M[i][j];
                    minj++;
                    }
                }
            mini++;
         }
       }
 }
票数 0
EN

Stack Overflow用户

发布于 2012-12-17 09:44:09

我认为这个if (i!=bar | j!=kol){是个问题。您应该使用{##**$}}(逻辑或)

票数 0
EN

Stack Overflow用户

发布于 2012-12-17 10:01:32

您使用的是按位的OR,应该在其中使用逻辑AND

代码语言:javascript
复制
            if (i!=bar && j!=kol){
                       ^^

现在,您只是在barkol的交集处跳过元素。相反,您希望跳过整个bar行和整个kol列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13911614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档