Foro de elhacker.net

Programación => 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í:

Código:
 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