public static boolean StarTrack[][][] = {
{{true,true,true}, {true,true,true}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}},
{{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}},
{{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}},
{{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}, {false,false,false}, {false,false,false},
{false,false,false}}
};
我想知道如何使用java计算该数组中的trues数。 "我有这个数组,我想计算真实数量。我怎么能这样做?"
答案 0 :(得分:3)
如果我理解你,你可以用这个 -
int count = 0;
for (boolean[][] bArrArr : StarTrack) {
for (boolean[] bArr : bArrArr) {
for (boolean b : bArr) {
if (b) {
count++;
}
}
}
}
System.out.println(count);
鉴于你的StarTrack
,我得到了
6
答案 1 :(得分:0)
由于数组是三维的,您可以尝试使用3个for
循环:
int count = 0;
for (int i = 0; i < StarTrack.length; i++) {
for (int j = 0; j < StarTrack[i].length; j++) {
for (int k = 0; k < StarTrack[i][j].length; k++) {
if (StarTrack[i][j][k]) {
count++;
}
}
}
}
System.out.println(count); // 6
请注意
if (StarTrack[i][j][k])
将检查数组StarTrack[i][j][k]
的元素的值是否为true
。如果是,请增加count
。
替代,为了避免使用索引,是使用foreach
循环:
for (boolean[][] array2D: StarTrack) {
for (boolean[] array1D : bArrArr) {
for (boolean element : bArr) {
if (element) {
count++;
}
}
}
}