Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: DarkSorcerer en 2 Septiembre 2012, 01:42 AM

Título: Tengo un problema (convertidor a binario)
Publicado por: DarkSorcerer en 2 Septiembre 2012, 01:42 AM
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);
   }
   
 }
 
}
 
 
Título: Re: Tengo un problema (convertidor a binario)
Publicado por: leogtz en 2 Septiembre 2012, 02:54 AM
Intenta así:

binario += Integer.toString(resto) + "";
Título: Re: Tengo un problema (convertidor a binario)
Publicado por: DarkSorcerer en 2 Septiembre 2012, 03:08 AM
Solo venía a avisar de que ya solucioné mi problema, de todas maneras muchas gracias por la intención :D