Discusión:Programación en Java/Sentencia while
Comentar únicamente que el código de muestra para while es incorrecto.
Para realizar realmente el paso de decimal a binario haría falta dar la vuelta al String.
Por tanto faltaría este código, una vez salido del while
....
}
StringBuilder sb = new StringBuilder(binario);
binario= sb.reverse().toString();
System.out.println(binario);
....
- Te agradezco el comentario. Al leerlo inmediatamente ejecuté el código y el resultado me dio bien. Por lo que no entiendo porque es incorrecto. La instrucción clave del algoritmo es
binario = decimal % 2 + binario;
- la variable binario contiene el resultado. Como verás, tengo explicado el mecanismo en el capítulo Estructuras de iteración
- El primer dígito de la derecha contiene el primer resultado de la división. Si el número es par este bit es 0, si en impar es 1. Luego el segundo bit de la derecha es el resultado de la división y así sucesivamente. Hasta llegar al último bit, que siempre es 1.
- Si tendría que dar vuelta el número binario, simplemente invierto los operandos. Sería de esta manera :
binario = binario + decimal % 2;
- Es mas sencillo que crear objetos y trabajar con las propiedades de un StringBuilder. A parte sería incorrecto dar como ejemplo la creación de un objeto a esta parte del curso, en donde no se ha explicado todavía. Pero como siempre, puedo meter la pata. Te agradecería, si no estoy en lo cierto, que vuelvas a escribir un comentario. Saludos.--Pirenne (consultas) 15:53 26 may, 2005 (UTC)
Comienza una discusión acerca de Programación en Java/Sentencia while
Las páginas de discusión sirven para debatir sobre cómo hacer que el contenido de Wikilibros sea el mejor posible. Puedes utilizar esta página de discusión para empezar una discusión acerca de cómo mejorar Programación en Java/Sentencia while.