[英]having trouble with double arrays
我的程序有一個小問題。 基本上,我想使用雙精度數組將所有偶數元素設置為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();
}
}
}
您的測試是錯誤的:
if(i%2 == 0)
應該
if(array[i][j] % 2 == 0)
您正在檢查索引i
是否為奇數或偶數而不是元素。 該行:
if(i%2 == 0)
應該:
if(array[i][j]%2 == 0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.