[英]Java making vector from 2d array.
for (i=0; i<=9; i++)
for (j=0; j<=9; j++)
if (A[i][j]!=0) {
B[i] = A[i][j];
}
System.out.print("Vector : ");
for(int i1 = 0; i1 < B.length; i1++){
System.out.print(B[i1] + " ");
} array = true;
System.out.println();
我有55個不同於0的值的10x10數組,我需要從這55個數字中得出一個向量。 問題是使用此代碼,它僅打印10個非0的數字和其他45個零。 它從第10行獲取所有值,僅此而已。 我認為B [i]出了點問題,但我不確定。 也許有人可以幫忙?
問題來自B[i] = A[i][j];
因為B
必須使用自己的索引,例如k
。 索引i
可以使用十次。
我建議B[k++] = A[i][j];
int index = 0 ;
for (i=0; i<=9; i++)
for (j=0; j<=9; j++)
if (A[i][j]!=0) {
B[index] = A[i][j];
index++;
}
System.out.print("Vector : ");
for(int i1 = 0; i1 < B.length; i1++){
System.out.print(B[i1] + " ");
} array = true;
System.out.println();
您可能應該對向量使用不同的計數器,因為在您的情況下i
將覆蓋相同的計數器。
for (int i=0, ctr=0; i<=9; i++)
for (j=0; j<=9; j++)
if (A[i][j]!=0) {
B[ctr++] = A[i][j];
}
System.out.print("Vector : ");
for(int i1 = 0; i1 < B.length; i1++){
System.out.print(B[i1] + " ");
} array = true;
System.out.println();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.