2016-11-12 72 views
0

我需要更改:System.out.print((i+1) + " ");所以它不会显示哪些行可以确认是否声明,但是它显示了有多少行确认它。 现在它会说“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) + " "); 
} 
+0

将'if'语句移到第一个'for'之外,并且您的'Count'变量必须在其外部。 –

回答

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

谢谢你这个作品,我会阅读有关Java代码约定谢谢你。 –

0

您只需要将条件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)。