2014-12-04 4 views
-1

Я пытаюсь создать двоичный калькулятор, который преобразует целые числа в 8-битный двоичный вывод. Я потерян, и любая помощь будет оценена по достоинству. Вот мой прогресс до сих пор:Binary Calculator

import java.util.Scanner; 
import java.lang.Math; 
public class Unit4 
{ 
    public static int convertToBinary(int baseTenIntOne) 
    { 
     int [] firstNum = new int [8]; 
     int binary = 0; 
     int bvalue = 1; 
     for (int i = 0; i < 8; i++) 
     { 
      if (baseTenIntOne % 2 == 1) 
       binary += bvalue; 
      else 
       binary += 0;  
      bvalue *= 10; 
     } 
     System.out.println(binary); 
     return binary; 
    } 
    public static void main(String[]args) 
    { 
     Scanner scan = new Scanner(System.in); 
     int baseTenIntOne; 
     int baseTenIntTwo; 
     System.out.println("Enter a base ten number between 0 and 255, inclusive."); 
     baseTenIntOne = scan.nextInt(); 
     System.out.println(baseTenIntOne); 
     System.out.println("Enter a base ten number between 0 and 255, inclusive."); 
     baseTenIntTwo = scan.nextInt(); 
     System.out.println(baseTenIntTwo); 
     convertToBinary(baseTenIntOne); 
    } 
} 

ответ

0

Попробуйте использовать Integer.toBinaryString(int i);

А затем добавить нули в начале строки

public static String convertToBinary(int baseTenIntOne){ 
    String binaryRep = Integer.toBinaryString(baseTenIntOne); 
    while(binaryRep.length()<8){ 
     binaryRep.insert(0, "0"); 
    } 

    return binaryRep; 
    } 
1

Вы можете поместить этот фрагмент в convertToBinary (межд baseTenIntOne) метод

{

if (baseTenIntOne == 0) 
{ 

    return "0"; 
} 

String binary = ""; 
while (baseTenIntOne > 0) { 
    int rem = baseTenIntOne % 2; 
    binary = rem + binary; 
    baseTenIntOne = baseTenIntOne/2; 
} 
System.out.println(binary); 
return binary; 

}

0

Забытый делает в для цикла:

baseTenIntOne /= 2; 

Так что следующий бит появляется в первой позиции.

1

Вы можете использовать следующий метод:

System.out.println("Enter a Integer Value:"); 
int h = Integer.parseInt(br.readLine()); 
String oct = Integer.toString(h,8);