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);
}
}
}