无法在java中使用循环分配数组值

时间:2015-10-31 19:19:49

标签: java arrays bits

我正在尝试在java中重新创建.toBinaryString()函数,因为我手上有很多时间。这就是我到目前为止所做的:

   class Bitwise
   {
           public static void main(String args[])
           {
                   int a = 5;
                   int c = 0;
                   int d = 2;
                   String[] aray = new String[8];
                   int a2 = 7;

                  for(int ef = 1; ef > 128; ef = pwrsd(2, c))
                  {
                          String a1 = (((a & ef)> 0 ? "1" : "0"));
                          aray[a2] = a1;
                          a2 = a2 - 1;

                          c = c + 1;
                  }
                  for(int as=0; as < 8; as ++)
                  {
                          System.out.print(aray[as]);
                  }
          }

          static int pwrsd(int numto, int pwrsds)
          {
                  int ca = numto;
                  for(int cd = 1; cd < (pwrsds); cd ++)
                  {
                          ca = ca * numto;
                  }

                  return ca;
          }
}

我制作了这个阵列,因为如果我只是执行了2的正常功率,它会向后打印数字。而现在,当我运行它时,它打印Null 8次,就像我没有在第一个for循环中分配每个数组变量,一个数字,我做了。我是否对阵列做错了什么?抱歉奇怪的函数和变量名称,请不要告诉我,我在浪费时间,因为已经有.toBinaryString()函数。

1 个答案:

答案 0 :(得分:4)

for(int ef = 1; ef > 128

由于ef初始化为1,因此它不是> 128,因此循环永远不会被执行。

您应该学会使用调试器并逐步执行代码。你会在2秒钟内找到它。