2016-09-09 11 views
3

現在のところ、私は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); 
    } 

、上記試験は、7つの0(0000000)を生成すべきであると私の代わりに、私は私の現在のコードに何のアレイdataに、これらの7ビットを格納したい文字列にそれを格納していますbinaryNum

+2

それはあなたが求めているものは不明です。サンプルの入力と出力を表示します。 – shmosel

+0

@shmoselは、より明確にするために説明を編集しました。 – Neil

+0

'data [i] = 0'のような意味ですか? – shmosel

答えて

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]; 
} 
+0

正確には、すべての_array要素_(ここの場合)とメソッドフィールドも初期化されます。数字と 'char'は0、' boolean'は 'false'、' null'を参照します。しかし、あなたがイニシャライザを書かない限り、どの型(intやその他)の_局所変数も初期化されません。 –

関連する問題