Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

_Isis_

[Resolvido] Conversão entre bases

Recommended Posts

import java.util.Scanner;
public class ConversorBase {
public static void main(String[] args) {
	Scanner in = new Scanner(System.in);
	Integer opção;
	String resultado;

	while(true) {
		System.out.println("===== CONVERSOR DE BASE =====");
		System.out.println("1 - Decimal p/ Binário");
		System.out.println("2 - Decimal p/ Octal");
		System.out.println("3 - Decimal p/ Hexa");
		System.out.println("4 - Binário p/ Decimal");
		System.out.println("5 - Binário p/ Octal");
		System.out.println("6 - Binário p/ Hexa");
		System.out.println("7 - Hexa p/ decimal");
		System.out.println("8 - Hexa p/ binário");
		System.out.println("9 - Hexa p/ octal");
		System.out.println("10 - Decimal p/ uma base arbitrária");
		System.out.println("11 - Sair");

		opção = in.nextInt();
		if (opção > 0 && opção < 12) {
			if (opção == 11) break;

			switch(opção) {
				case 1:
				case 2:
				case 3:
				case 10:
					System.out.print("Digite um inteiro:");
					Integer fromInt = in.nextInt();
					if (opção == 1)
						resultado = Integer.toBinaryString(fromInt);
					else if (opção == 2)
						resultado = Integer.toOctalString(fromInt);
					else if (opção == 3)
						resultado = Integer.toHexString(fromInt);
					else {
						System.out.print("Digite uma base:");
						Integer base = in.nextInt();
						resultado = Integer.toString(fromInt,base);
					}
					System.out.println("Resultado:"+resultado);
					break;

				case 4:
				case 5:
				case 6:
					System.out.print("Digite um número binário:");
					String bin = in.next();
					resultado = Integer.toString(Integer.valueOf(bin,2));
					if (opção == 5)
						resultado = Integer.toOctalString(Integer.parseInt(resultado));
					else if (opção == 6)
						resultado = Integer.toHexString(Integer.parseInt(resultado));
					System.out.println("Resultado:"+resultado);
					break;

				case 7:
				case 8:
				case 9:
					System.out.print("Digite um número em hexadecimal:");
					String hex = in.next();
					resultado = Integer.toString(Integer.valueOf(hex,16));
					if (opção == 8)
						resultado = Integer.toBinaryString(Integer.parseInt(resultado));
					else if (opção == 9)
						resultado = Integer.toOctalString(Integer.parseInt(resultado));
					System.out.println("Resultado:"+resultado);
			}
		}
	}
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.