2016-10-25 6 views
-2

Это правильно? Я пытаюсь установить это как вопрос для интервью и нуждаюсь в помощи с правильным ответом. Если кто-нибудь может взглянуть на приведенный ниже код и сообщить мне, если это правильный ответ, и если есть другие правильные ответы, чем только один ниже, это будет здорово.Преобразование десятичного числа в двоичный формат с использованием Java

Вопрос заключается в «Создать программу для преобразования десятичного числа в двоичный формат» Использование 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

** Это правильно? ** - Запустите его, проверьте, и вы узнаете, правильно ли это. Вместо этого, если у вас есть какая-либо конкретная ошибка, вставьте его в вопрос с полным стеком. Я вижу, по крайней мере, одну проблему компиляции. – BackSlash

+1

Вы можете получить помощь от codereview.stackexchange.com – SomeDude

+1

Что сказал @BackSlash, плюс 'indexNo' и' index' - не те же переменные. –

ответ

0

Возможно, это будет проще использовать toBinaryString метод из Integer класса, например:

String binaryString = Integer.toBinaryString(someIntValue); 
0

Код в основном правильный. Но вы ошибочно указали некоторые из имен переменных. Например, вы набрали index, когда вы на самом деле имеете в виду indexNo. Я исправил их для вас:

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().

Смежные вопросы