Tengo un problema (convertidor a binario)

Iniciado por DarkSorcerer, 2 Septiembre 2012, 01:42 AM

0 Miembros y 1 Visitante están viendo este tema.

DarkSorcerer

ESPEREN, NO LEAN TODAVIA EL CODIGO, TENGO UNOS ERRORES EPICOS PERO LO CORREGI, DESPUES SE LOS MANDO CORREGIDO PARA QUE AYUDEN EN MI PROBLEMA !!!!!!!!!



Quiero programar un conversor de numero decimal a binario de los 30 primeros numeros, a mi se me ocurrio con un String ir amontonando los restos al dividir por 2 (transformados en string eso si), pero me da un error en tiempo de ejecucion, aqui les dejo los errores y el codigo, ojala me puedan ayudar, cualquier sugerencia sera bienvenida ;), no se rian si encuentran algo ridiculo, tengo 15 y soy novato


El error que me sale es:

java.lang.NumberFormatException: For input string: ""
   at java.lang.NumberFormatException.forInputString(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at java.lang.Integer.parseInt(Unknown Source)
   at ejercicio10.calcularBinario(ejercicio10.java:25)
   at ejercicio10.main(ejercicio10.java:33)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:272)

public class ejercicio10{
 
 public static int calcularBinario(int numero){
   
   String binario = "";
   int bin;
   boolean flag = true;
   int resto;
   int div;
   
   
   while(flag){
     
     div = numero/2;
     
     if(div != 0){
       numero = div;
       resto = numero%2;
       binario += Integer.toString(resto); //Para ir juntando los 0 o 1, concatenando
     }else{
       flag = false;
     }            
   }
   
   bin = Integer.parseInt(binario);
   
   return bin;
 }
 
 public static void main(String[]Args){
   
   for(int i=0; i<30; i++){
     int binario = calcularBinario(i);
     System.out.println(binario);
   }
   
 }
 
}
 
 

leogtz

Intenta así:

binario += Integer.toString(resto) + "";
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

DarkSorcerer

Solo venía a avisar de que ya solucioné mi problema, de todas maneras muchas gracias por la intención :D