我的程序有点问题。基本上,我想使用双数组将所有偶数元素设置为0,将所有奇数元素设置为1.我的输出应该是:
001 001 11
相反,我的输出是:
000 111 000
有关如何解决此问题的任何建议吗?
public class SetOf0and1 {
public static void main(String[]args)
{
int [][] numbers1 = {{4,2,5}, {2,4,1}, {1,3}};
System.out.println("Before setting elements between 0 and 1: ");
displayArray(numbers1);
setEvenRowsTo0OddRowsTo1 (numbers1);
System.out.println("After setting the elements between 0 and 1");
displayArray(numbers1);
}
public static void setEvenRowsTo0OddRowsTo1(int [][]array)
{
for(int i=0; i<array.length;i++)
{
for(int j=0; j<array[i].length;j++)
{
if(i%2 == 0)
array[i][j]=0;
else
array[i][j]=1;
}
}
}
public static void displayArray(int [][]array)
{
for(int i=0;i<array.length;i++)
{
for( int j=0; j<array[i].length;j++) {
System.out.print(array[i][j] + " " );
}
System.out.println();
}
}
}
答案 0 :(得分:4)
你的测试错了:
if(i%2 == 0)
应该是
if(array[i][j] % 2 == 0)
答案 1 :(得分:2)
您正在检查索引i
是奇数还是偶数而不是元素。这一行:
if(i%2 == 0)
应该是:
if(array[i][j]%2 == 0)