有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java有多少列确认if语句

我需要更改:System.out.print((i+1) + " ");,这样它就不会显示确认if语句的行数,而是显示确认if语句的行数。 现在它会说“36”,但我需要它说“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) 个答案

  1. # 1 楼答案

    我希望我理解正确。如果是这样,您的解决方案将是:

    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

  2. # 2 楼答案

    您只需将条件if (count >= 2 )移到for循环之外,即可打印count(它告诉包含'-1'元素的数组的数量),如下所示:

    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