









Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
la programación para la conversión de unidades en java
Tipo: Apuntes
1 / 16
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!










Fecha de entrega: 19 de noviembre del 2020 Fecha de entrega: 02 de junio del 2021 Introducción:
Facilitador: Ing. Yoni Hernández Orta. 3° “E” Unidad 1 Actividad 2: Fundamentos de circuitos lógicos PRESENTA: ROSA ISELA HERNANDEZ LUGO 2030589 CALIFICASION DEL REPORTE: ________________
“Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun Microsystems”, así de fácil resume la propia web de Java qué es esta tecnología. Nació con el objetivo de ser un lenguaje de programación de estructura sencilla que pudiera ser ejecutado en diversos sistemas operativos. En lo que respecta a su nombre, inicialmente iba a denominarse Oak pero como esta marca ya estaba registrada se acabó optando por Java. Java sirve para crear aplicaciones y procesos en una gran diversidad de dispositivos. Se base en programación orientada a objetivos, permite ejecutar un mismo programa en diversos sistemas operativos y ejecutar el código en sistemas remotos de manera segura. Su ámbito de aplicación es tan amplio que Java se utiliza tanto en móviles como en electrodomésticos. Muchos programadores también utilizan este lenguaje para crear pequeñas aplicaciones que se insertan en el código HTML de una página para que pueda ser ejecutada desde un navegador. Objetivo: Desarrollar un programa para conversiones de un sistema a otro, es decir de decimal a binario o de hexadecimal a octal y así sucesivamente. Objetivo específico: Crear un menú de 12 conversiones, para hacer más fácil el convertir de un sistema a otro. Justificación: La idea de Java es que pueda realizarse programas con la posibilidad de ejecutarse en cualquier contexto, en cualquier ambiente, siendo así su portabilidad uno de sus principales logros.
"11. Hexadecimal a octal\n" + "12. Hexadecimal a decimal\n" + "Seleccione: "); Scanner sc = new Scanner(System.in); int eleccion = sc.nextInt(); if (eleccion < 1 || eleccion > 12) { System.out.println("Elección no válida"); return; } Scanner scanner = new Scanner(System.in); switch (eleccion) { case 1: System.out.println("Ingrese número binario:"); int binario = scanner.nextInt(); if (!validarBinario(binario)) { System.out.println("Número no válido"); return; } int decimal = binarioADecimal(binario); String octalResultante = decimalAOctal(decimal); System.out.println("El octal es " + octalResultante); break; case 2:
System.out.println("Ingrese número binario:"); binario = scanner.nextInt(); if (!validarBinario(binario)) { System.out.println("Número no válido"); return; } decimal = binarioADecimal(binario); System.out.println("El decimal es " + decimal); break; case 3: System.out.println("Ingrese número binario:"); binario = scanner.nextInt(); if (!validarBinario(binario)) { System.out.println("Número no válido"); return; } decimal = binarioADecimal(binario); String hexadecimal = decimalAHexadecimal(decimal); System.out.println("El hexadecimal es " + hexadecimal); break; case 4: System.out.println("Ingrese número octal:");
System.out.println("Número no válido"); return; } decimal = octalADecimal(octal); String hexadecimalResultante = decimalAHexadecimal(decimal); System.out.println("El hexadecimal es " + hexadecimalResultante); break; case 7: System.out.println("Ingrese número decimal:"); decimal = scanner.nextInt(); if (!validarDecimal(decimal)) { System.out.println("Número no válido"); return; } binarioResultante = decimalABinario(decimal); System.out.println("El binario es " + binarioResultante); break; case 8: System.out.println("Ingrese número decimal:"); decimal = scanner.nextInt(); if (!validarDecimal(decimal)) { System.out.println("Número no válido"); return;
octalResultante = decimalAOctal(decimal); System.out.println("El octal es " + octalResultante); break; case 9: System.out.println("Ingrese número decimal:"); decimal = scanner.nextInt(); if (!validarDecimal(decimal)) { System.out.println("Número no válido"); return; } hexadecimalResultante = decimalAHexadecimal(decimal); System.out.println("El hexadecimal es " + hexadecimalResultante); break; case 10: System.out.println("Ingrese número hexadecimal:"); hexadecimal = scanner.nextLine().toUpperCase(); if (!validarHexadecimal(hexadecimal)) { System.out.println("Número no válido"); return; } decimal = hexadecimalADecimal(hexadecimal); binarioResultante = decimalABinario(decimal);
// Validadores public static boolean validarDecimal(int decimal) { // Decimal pasa la validación con el hecho de que sea entero return true; } public static boolean validarBinario(int binario) { // Comprobar si solo se compone de unos y ceros String binarioComoCadena = String.valueOf(binario); for (int i = 0; i < binarioComoCadena.length(); i++) { char caracter = binarioComoCadena.charAt(i); if (caracter != '0' && caracter != '1') { return false; } } return true; } public static boolean validarOctal(int octal) { // comprobar si solo tiene números del 0 al 7
String octalComoCadena = String.valueOf(octal); String caracteresOctales = "01234567"; for (int i = 0; i < octalComoCadena.length(); i++) { char caracter = octalComoCadena.charAt(i); // Si no se encuentra dentro de los caracteres válidos, regresamos false if (caracteresOctales.indexOf(caracter) == -1) { return false; } } return true; } // Nota: se debe enviar la cadena hexadecimal convertida a mayúsculas public static boolean validarHexadecimal(String hexadecimal) { // Comprobar si solo tiene números del 0 al 9 y letras de la A a la F String caracteresHexadecimales = "0123456789ABCDEF"; for (int i = 0; i < hexadecimal.length(); i++) { char caracter = hexadecimal.charAt(i); // Si no se encuentra dentro de los caracteres válidos, regresamos false if (caracteresHexadecimales.indexOf(caracter) == -1) { return false; } }
return octal; } public static String decimalAHexadecimal(int decimal) { int residuo; String hexadecimal = ""; char[] caracteresHexadecimales = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; while (decimal > 0) { residuo = decimal % 16; char caracterHexadecimal = caracteresHexadecimales[residuo]; hexadecimal = caracterHexadecimal + hexadecimal; decimal = decimal / 16; } return hexadecimal; } // Conversiones de otras bases a decimal public static int binarioADecimal(int binario) { int decimal = 0; int potencia = 0; // Ciclo infinito hasta que binario sea 0 while (true) {
if (binario == 0) { break; } else { int temp = binario % 10; decimal += temp * Math.pow(2, potencia); binario = binario / 10; potencia++; } } return decimal; } public static int octalADecimal(int octal) { int decimal = 0; int potencia = 0; // Ciclo infinito que se rompe cuando octal es 0 while (true) { if (octal == 0) { break; } else { int temp = octal % 10; decimal += temp * Math.pow(8, potencia); octal = octal / 10;