目前,我有8个2D array
,例如arrayInput1
到arrayInput8
。
因此,现在2D数组中的数据为1
和0
,并设置数组的大小为25。
for(int a=0; a<5; a++){
for(int b=0; b<4; b++){
arrayInput1[a][b] //----> The result here is 0
arrayInput2[a][b] //----> The result here is 1
arrayInput3[a][b] //----> The result here is 0
arrayInput4[a][b] //----> The result here is 1
arrayInput5[a][b] //----> The result here is 0
arrayInput6[a][b] //----> The result here is 1
arrayInput7[a][b] //----> The result here is 0
arrayInput8[a][b] //----> The result here is 1
}
}//end of nested for loops
因此,来自这些arraiInput
的结果将为01010101
。然后,我要将它们存储在array
中。因此,array
的第一个索引将显示01010101
所以问题是如何做到的?
答案 0 :(得分:0)
您已经在八个位平面中获得了像素数据。您想将它们合并到一个八位整数像素的平面中。这是一个操作方法示例:
int newPixels[][] =
new int[arrayInput1.length][arrayInput1[0].length];
for(int a=0; a<arrayInput.length; a++){
for(int b=0; b<arrayInput1[0].length; b++){
newPixels[a][b] =
arrayInput1[a][b] * 128 +
arrayInput2[a][b] * 64 +
arrayInput3[a][b] * 32 +
arrayInput4[a][b] * 16 +
arrayInput5[a][b] * 8 +
arrayInput6[a][b] * 4 +
arrayInput7[a][b] * 2 +
arrayInput8[a][b];
}
}
这里,我假设arrayInput1
持有应成为合并像素中最高有效位的位,arrayInput2
持有其次最高有效位,依此类推,直到{{1} },其中包含最低有效位。
答案 1 :(得分:0)
您应该直接对其进行初始化:
let num = 50.00;
num.toFixed(2).includes('.00') ? num.toFixed() :num.toFixed(2);
和int[] data = {0,1,0,1,0,1,0,1};
答案 2 :(得分:0)
使用StringBuilder(或类似的工具)从int值构建字符串并将其添加到String数组。我不确定数组的大小,所以我改用了两个常量。
String[][] result = new String[ROW_SIZE][COLUMN_SIZE];
for(int a = 0; a < ROW_SIZE; a++){
for(int b = 0; b < COLUMN_SIZE; b++){
StringBuilder builder = new StringBuilder(8);
builder.append(arrayInput1[a][b]);
builder.append(arrayInput1[a][b]);
builder.append(arrayInput1[a][b]);
builder.append(arrayInput2[a][b]);
builder.append(arrayInput3[a][b]);
builder.append(arrayInput4[a][b]);
builder.append(arrayInput5[a][b]);
builder.append(arrayInput6[a][b]);
builder.append(arrayInput7[a][b]);
builder.append(arrayInput8[a][b]);
result[a][b] = builder.toString();
}
}