将二进制位存储到整数数组中?

时间:2016-09-09 23:11:38

标签: java

目前,我只有data存储位的长度,这不是我想要的。我想将BinaryNumber构造函数生成的位存储到属性中private int data[]data稍后将用于其他方法(用于检索位长,转换为十进制等)。我是Java编程的新手,所以如果你能帮助我解决我面临的这个问题,我将非常感激。

public class BinaryNumber {

    private int data[]; 
    private boolean overflow; 



    /**
     * Creates a binary number of length length 
     * and consisting only of zeros.
     * 
     * @param Length
     * 
     **/

    public BinaryNumber(int length){
        String binaryNum=" "; 
        for (int i=0; i<length;i++) {
            binaryNum += "0";

        }
        System.out.println(binaryNum);
        data= new int[length];
    }



public static void main (String[] args) { 
        BinaryNumber t1=new BinaryNumber(7);

        System.out.println(t1);
    }

例如,上面的测试应生成七个0(0000000)并且我想将这七个位存储到数组data中,而不是我在当前代码中执行的操作,它将其存储到字符串中binaryNum

1 个答案:

答案 0 :(得分:2)

public BinaryNumber(int length) {
    data = new int[length];
    for (int i = 0; i < length; i++) {
        data[i] = 0;
    }
}

但是,Java规范保证所有int值都用0初始化,因此您的构造函数可以简化为:

public BinaryNumber(int length) {
    data = new int[length];
}