Java - Conversor de DEC a BIN en Java

 
Vista:

Conversor de DEC a BIN en Java

Publicado por Gaezlowe (1 intervención) el 27/03/2018 20:23:29
Hola!

Estoy realizando una conversión de Decimal a Binario en Java aprovechándome de un objeto de la clase Pila. Para ello, realizo divisiones sucesivos entre 2 hasta que el valor inicial sea menor que el divisor. El resto de cada división lo almaceno en una pila y, una vez finalizado el proceso, vuelco los datos de la pila en un StringBuilder.

Sin embargo, dando como valor inicial 8, el resultado que me muestra por pantalla es el mismo (8).

Alguien me puede ayudar a encontrar el fallo?

Muchas gracias y un saludo!



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package binario;
 
public class Binario {
 
    public static void main(String[] args) {
        int valor = 8;
        System.out.println(DecBin(valor));
 
    }
 
    private static String DecBin ( int valor ) {
        final int BASE = 2;
        StringBuilder cadena = new StringBuilder();
        Pila<Integer> pila = new Pila<>();
        while ( valor < BASE ) {
            pila.push( valor%BASE );
            valor = valor/BASE;
        }
        pila.push(valor);
        while( !pila.esVacia() ) {
            cadena.append(pila.pop());
        }
 
        return cadena.toString();
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Conversor de DEC a BIN en Java

Publicado por Yamil (2315 intervenciones) el 27/03/2018 20:40:19
Tienes en el loop qu agrega a la pila

while ( valor < BASE ) {

como valor = 8 y BASE = 2, nunca entra a ese ciclo, asi que debes cambiar la condicion a
while ( valor >= BASE ) {
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar