Java - Ayuda con un programa de conversiones entre bases numericas, por favor!

 
Vista:
sin imagen de perfil

Ayuda con un programa de conversiones entre bases numericas, por favor!

Publicado por Diego (4 intervenciones) el 29/01/2020 00:34:38
Necesito ayuda con este programa por favor, se los agredeceria bastante!

Realiza un programa que sea útil para apoyar a los chicos que tienen problemas de conversiones entre bases numéricas. Poder llevar a cabo lo siguiente:

- El programa desplegará el menú de conversiones siguiente:
Convertir de decimal a binario.
Convertir de decimal a octal.
Convertir de binario a decimal.
Convertir de octal a decimal.
Convertir de hexadecimal a decimal.
Convertir de decimal a hexadecimal.

- Para cada una de las opciones el programa solicitará el número a convertir.

- El programa deberá realizar todas las conversiones necesarias hasta que el usuario no desee continuar.

- La lógica de cada conversión se incluirá en un método.


- La salida del programa deberá ser algo como lo siguiente:

** Programa de Conversiones **
a. Convertir de decimal a binario.
b. Convertir de decimal a octal.
c. Convertir de binario a decimal.
d. Convertir de octal a decimal.
e. Convertir de hexadecimal a decimal.
f. Convertir de decimal a hexadecimal.
Tipo de Conversión? a
Número a convertir? 120
El numero 120 en base binario es: 1111000
Otra conversión (s/n)? s
Tipo de Conversión? b
Número a convertir? 20
El número 20 en base octal es: 24
Otra conversión (s/n)? n
Fin del programa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Ayuda con un programa de conversiones entre bases numericas, por favor!

Publicado por Kabuto (1381 intervenciones) el 29/01/2020 14:53:38
Especifica más cuáles son tus dudas. ¿Es sobre la estructura que debería tener el programa?
¿Es sobre como convertir de una base a otra?

Mira la estructura básica del programa podría ser algo como esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
public class Conversor {
 
	public static void main(String[] args) {
 
		char opcion = ' ';
		Scanner teclado = new Scanner("System.in");
 
		do {
			System.out.println("**Programa de Conversiones**");
			System.out.println("(a) Convertir de decimal a binario.");
			System.out.println("(b) Convertir de decimal a octal.");
			System.out.println("(c) Convertir de binario a decimal.");
			System.out.println("(d)  Convertir de octal a decimal.");
			System.out.println("(e) Convertir de hexadecimal a decimal.");
			System.out.println("(f) Convertir de decimal a hexadecimal.");
 
			System.out.print("\nTipo de Conversión?: ");
			opcion = teclado.nextLine().toLowerCase().charAt(0);
 
			System.out.print("Número a convertir?: ");
			String numero = teclado.nextLine().toUpperCase();
 
			switch(opcion) {
			case 'a':
				decimalToBinario(numero);
				break;
			case 'b':
				decimalToOctal(numero);
				break;
			case 'c':
				binarioToDecimal(numero);
				break;
			case 'd':
				octalToDecimal(numero);
				break;
			case 'e':
				hexadecimalToDecimal(numero);
				break;
			case 'f':
				decimalToHexadecimal(numero);
				break;
			default:
				System.out.println("Opcion de conversión equivocada");
			}
 
			System.out.print("Otra conversión?(s/n): ");
			opcion = teclado.nextLine().toLowerCase().charAt(0);
		}while (opcion != 'n');
 
		System.out.println("\nFIN DE PROGRAMA");
		teclado.close();
	}
 
	//Métodos para conversión de bases
	static void decimalToBinario(String decimal) {
		//TODO: Convertir de decimal a binario y mostrar en pantalla
	}
 
	static void decimalToOctal(String decimal) {
		//TODO: Convertir de decimal a octal y mostrar en pantalla
	}
 
	static void binarioToDecimal(String binario) {
		//TODO: Convertir de binario a decimal y mostrar en pantalla
	}
 
	static void octalToDecimal(String octal) {
		//TODO: Convertir de octal a decimal y mostrar en pantalla
	}
 
	static void hexadecimalToDecimal(String hexadecimal) {
		//TODO: Convertir de hexadecimal a decimal y mostrar en pantalla
	}
 
	static void decimalToHexadecimal(String decimal) {
		//TODO: Convertir de decimal a hexadecimal y mostrar en pantalla
	}
 
}

Faltaría completar los métodos que se encargan de convertir de una base a la otra.

Haz un intento por completar tú estos métodos.
Primero busca y aprende qué es base decimal, binaria, octal y hexadecimal.

Luego investiga como hacer conversiones de uno a otro. No me refiero a como hacerlo en programación, sino como hacerlo con lápiz, papel y como mucho una calculadora.

Una vez has aprendido el proceso matemático para convertir entre bases, intenta trasladar ese conocimiento a un algoritmo en Java.
Aquí ya puedes elegir un poco la dificultad, de si hacerlo todo tú "artesanalmente", o bien apoyarte en métodos ya existentes en la API de Java, como por ejemplo Integer.toOctalString() y otros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar