2016-10-25 13 views
-2

これは正しいですか?私はこれをインタビューの質問として設定しようとしており、正解について助けが必要です。誰かが下のコードを見て、これが正しい答えであるかどうか、そしてそれ以外の正しい答えがあれば、それが素晴らしいことを教えてください。10進数をJavaを使用してバイナリ形式に変換する

質問はおそらく、IntegerクラスなどからtoBinaryStringメソッドを使用する方が簡単になりますJAVA

package com.java2novice.algos; 

public class DecToBin { 

    public void showBinaryFormat(int numbers){ 
     int binaryNo[] = new int[25]; 
     int indexNo = 0; 
     while(number > 0){ 
      binaryNo[index++] = numbers%2; 
      numbers = numbers/2; 
     } 
     for(int i = indexNo-1;i >= 0;i--){ 
      System.out.print(binaryNo[i]); 
     } 
    } 

    public static void main(String a[]){ 
     DecimalToBinary dtb = new DecimalToBinary(); 
     dtb.showBinaryFormat(25); 
    } 
} 
+2

**これは正しいですか?** - それを実行してテストし、正しいかどうかを確認します。代わりに、特定のエラーがある場合は、完全なスタックトレースで質問に貼り付けます。ここで少なくとも1つのコンパイルの問題があります。 – BackSlash

+1

あなたは、codereview.stackexchange.com – SomeDude

+1

から助けを得ることができます。@BackSlashによると、 'indexNo'と' index'は同じ変数ではありません。 –

答えて

0

の使用「をバイナリ形式に進数に変換するプログラムを作成する」である。

String binaryString = Integer.toBinaryString(someIntValue); 
0

コードはほぼ正しいです。しかし、あなたは変数の名前のいくつかを間違って入力しました。たとえば、実際にindexNoを意味するときにindexと入力したとします。私はあなたのためにそれらを修正しました:

public void showBinaryFormat(int numbers){ 
    int binaryNo[] = new int[25]; 
    int indexNo = 0; 
    while(numbers > 0){ 
     binaryNo[indexNo++] = numbers%2; 
     numbers = numbers/2; 
    } 
    for(int i = indexNo-1;i >= 0;i--){ 
     System.out.print(binaryNo[i]); 
    } 
} 

あなたのコードは25ビットの符号なし整数しかないことに注意してください。

staticの方法をshowBinaryFormatに追加すると、より便利に電話できるようになります。または単に怠け者で、代わりにInteger.toBinaryString()を使用してください。

関連する問題