有多少列确认是否有声明

时间:2016-11-12 21:49:05

标签: java

我需要更改:System.out.print((i+1) + " ");所以它不会告诉我哪些行确认if语句,但是它会显示我确认了多少行。 现在它会说" 3 6"但我需要它说" 2"

int A[][] ={{0, 1, 2, 0, 2},
                {4, 4, 4, 4, 4},
                {0, -1, 8, 10, -1},
                {0, 3, -1, 2, 1},
                {4, 8, 4, 8, 12},
                {-1, -1, 2, 0, 1},
                {1, 8, 2, 4, -1},
                {8, 16, -1, 4, 0}};

System.out.println("results: ");
for (i=0; i<8; i++) {
    Count = 0;          
    for (j=0; j<5; j++) {
        if (A[i][j] == -1) Count++;             
    }
    if (Count >= 2 )
        System.out.print((i+1) + " ");
}

2 个答案:

答案 0 :(得分:0)

我希望我明白这一点。如果是这样,你的解决方案将是:

if语句移至第一个for之外,Count变量必须位于其外

int a[][] ={{0, 1, 2, 0, 2},
             {4, 4, 4, 4, 4},
             {0, -1, 8, 10, -1},
             {0, 3, -1, 2, 1},
             {4, 8, 4, 8, 12},
             {-1, -1, 2, 0, 1},
             {1, 8, 2, 4, -1},
             {8, 16, -1, 4, 0}};
int count = 0;          
for (i=0; i<8; i++) {
    int numbersOfMinus1 = 0;
    for (j=0; j<5; j++) {
        if (a[i][j] == -1){
            numbersOfMinus1++;
        }      
    }
    if (numbersOfMinus1>=2){
         count++;
    }
}

System.out.println("results: " + count);

提示:既然您使用的是Java,那么您应该阅读Code Conventions for Java

答案 1 :(得分:0)

您只需要在for循环外移动条件if (count >= 2 )即可打印count(告知包含&#39; -1&#39;元素的数组的数量),如下所示:

int count = 0;         
for (i=0; i<8; i++) {   
    for (j=0; j<5; j++) {
        if (A[i][j] == -1) count++;             
    }
}
if (count >= 2 )
        System.out.print(count);

另外,请确保遵循变量名称的Java命名标准(以小写字母开头),如count(而不是Count)。