Conversor en Java: Binario, Octal y Hexa.

Publicado por Oscar Díaz Falfán | 25.10.08 | | 2 comentarios »

import java.io.*;
import java.text.*;

public class conversion
{
public static void main(String []inferno)throws IOException
{
int res,num,opc;
String resultado;

BufferedReader in=new BufferedReader (new InputStreamReader(System.in));
System.out.print("\n\t *** CONVERSION DE NUMEROS DECIMALES A BINARIOS ***");
res=1;
while(res==1)
{
System.out.print("\n\t\t\t\t *** MENU ***");
System.out.print("\n\t\t\t 1.- DE BINARIO A DECIMAL");
System.out.print("\n\t\t\t 2.- DE DECIMAL A OCTAL");
System.out.print("\n\t\t\t 3.- DE DECIMAL A HEXADECIMAL");
System.out.print("\n\t\t\t Elige tu opcion:");
opc=Double.valueOf(in.readLine().trim()).intValue();
switch(opc)
{
case 1:
{
StringBuffer stb=new StringBuffer();
System.out.print("\n Ingresa un numero:");
num=Double.valueOf(in.readLine().trim()).intValue();
while (num>0)
{
stb.insert(0,num%2);
num=num/2;

}
resultado=new String(stb);
System.out.print("\n El resultado es :"+resultado);
break;
}
case 2:
{
StringBuffer stb=new StringBuffer();
System.out.print("\n Ingresa un numero:");
num=Double.valueOf(in.readLine().trim()).intValue();
while (num>0)
{
stb.insert(0,num%8);
num=num/8;

}
resultado=new String(stb);
System.out.print("\n El resultado es :"+resultado);
break;
}
case 3:
{
StringBuffer stb=new StringBuffer();
System.out.print("\n Ingresa un numero:");
num=Double.valueOf(in.readLine().trim()).intValue();
int x;
char c='a';
while (num>0)
{
x=num%16;
if(x <>
{
stb.insert(0,x);
}
else
{
switch(x)
{
case 10 :c ='A';break;
case 11 :c ='B';break;
case 12 :c ='C';break;
case 13 :c ='D';break;
case 14 :c ='E';break;
case 15 :c ='F';break;
}//fin del switch
stb.insert(0,c);
}//fin del else
num=num/16;
}// fin del while
resultado=new String(stb);
System.out.print("\n El resultado es :"+resultado);
break;
}
default :
{
System.out.print ("\n ERROR OPCION NO EXISTE");
break;
}
}// fin del switch
System.out.print("\n Desea otra operacion [1.-SI/2.-NO]?");
res=Double.valueOf(in.readLine().trim()).intValue();

}// fin de while
}
}

Post Relacionados:
<Portable Visual Basic v6
21 reglas interesantes de la programacion>

2 comentarios

  1. Bardruck // 28.10.08  

    ah, chido es muy útil aunque solo si estas viendo el tema, gracias

  2. Anónimo // 27.1.09  

    Muy buen aporte, me estaba quebrando la cabeza por este pedazo de codigo que me hacia falta.
    Solo queria queria corregir una parte para que jale:

    int x;
    char c='a';
    while (num>0)
    {
    x=num%16;
    if(x < 9)
    {
    stb.insert(0,x);
    }

    en el original esta como
    ...
    if(x <>
    {
    ....