我试图找出如何采用数组停顿[]并找到持续减小的中间索引。
本质上,我正在获取数组的中间索引,将其分配给布尔值true,然后获取新的,较小的索引大小并找到的中间点(忽略右边的一切)。
在印刷版中,它可能看起来像
_ _ _ _ _ X _ _ _ _
_ _ X _ _ X _ _ _ _
我无法弄清楚如何让它正确循环。任何帮助,将不胜感激!
答案 0 :(得分:1)
执行:
int begin = 0;
int end = array_size
int middle = (end + begin) / 2;
while( ... )
{
// do something
middle = middle / 2; // break in half
}
...
上面的代码遍历上半部分,迭代下半部分,你只需修改begin
变量,即可:
int being = array_size / 2;
对应于数组的中间。
答案 1 :(得分:0)
对于你想要的东西有点模糊。但这可能会让你更接近。
public class homework
{
public static void main(String args[])
{
new homework();
}
public homework()
{
boolean[] stalls = new boolean[50];
int middle = stalls.length/2;
for (int i = 0; i < stalls.length; i++)
{
stalls[middle] = true;
middle /= 2;
}
for (int i = 0; i < stalls.length; i++)
{
if (stalls[i] == true)
{
System.out.print("X");
}
else
{
System.out.print("_");
}
System.out.print(" ");
}
System.out.println("");
}
}