25 de octubre de 2008

Conversor en Java: Binario, Octal y Hexa.

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. ah, chido es muy útil aunque solo si estas viendo el tema, gracias

    ResponderBorrar
  2. Anónimo27.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 <>
    {
    ....

    ResponderBorrar

Gracias, por visitar notycs blog. Es importante atender tus dudas, comentarios y sugerencias.

En un promedio de 36 a 48 hrs. serán respondidas tus preguntas, las mas interesantes serán escogidas para aparecer en un post del blog.

Si quieres mandar información que consideres interesante
para publicarse envíala al correo: notycs@gmail.com

notycs:ni te imaginabas...