package CambiarBase;
import javax.swing.JOptionPane;
public class CambiarBase {
static String numD = "", pos = "", conversion = "";
static int sistO, sistD;
public static void main(String[] args) {
desde_base_decimal(JOptionPane.showInputDialog("Ingrese un número en base 10"));
}
public static void leer() {
do {
sistD = Integer.parseInt(JOptionPane.showInputDialog("Ingrese el numero de la base del sistema destino"));
if (sistD > 9 || sistD < 2)
JOptionPane.showMessageDialog(null, "Se admite bases de 2 a 9");
} while (sistD > 9 || sistD < 2);
sistO = 10;
}
public static void desde_base_decimal(String numO) {
leer();
numD = "";
while (Integer.parseInt(numO) >= sistD) {
pos = String.valueOf(Integer.parseInt(numO) % sistD);
numO = String.valueOf(Integer.parseInt(numO) / sistD);
numD += pos;
}
pos = numO;
numD += pos;
invertir_cadena(numD, sistD);
limpiarValores();
}
public static void limpiarValores() {
numD = "";
pos = "";
conversion = "";
sistO = 0;
sistD = 0;
}
public static void invertir_cadena(String numD, int sistD) {
for (int i = numD.length(); i > 0; i--) {
conversion += numD.substring((i - 1), i);
}
JOptionPane.showMessageDialog(null, "Transformacion: \n" + "Es igual a: " + conversion + " en base " + sistD);
}
}
El código en Java realiza la conversión de un número en base 10 (decimal) a una base de destino especificada por el usuario. A continuación, te explicaré el funcionamiento del código paso a paso:
- El programa comienza importando las clases necesarias y declarando algunas variables estáticas.
- El método
main
se encarga de iniciar la ejecución del programa. En este caso, se espera que el usuario ingrese un número en base 10 utilizando una ventana emergente de entrada de datos. - El método
leer
se utiliza para obtener la base de destino (sistD
) desde el usuario. Se verifica que la base esté dentro del rango de 2 a 9 y se asegura que la base de origen (sistO
) sea 10, que es la base decimal. - El método
desde_base_decimal
realiza la conversión del número en base 10 (numO
) a la base de destino (sistD
). Utiliza un buclewhile
para dividir repetidamente el número entre la base de destino y registra los residuos en la cadenanumD
. Luego, invierte la cadena resultante y muestra el resultado en una ventana emergente. - El método
limpiarValores
se utiliza para restablecer las variables estáticas a sus valores iniciales, preparando el programa para futuras conversiones. - El método
invertir_cadena
invierte una cadena de caracteres y muestra el resultado en una ventana emergente junto con la base de destino.
Pueder ir al artículo principal:
Códigos Sencillos hechos en Java
Wonderful blog you have here but I was wanting to know if you knew of any
discussion boards that cover the same topics discussed in this article?
I’d really love to be a part of online community where I can get advice from other knowledgeable individuals that share the same interest. If you have any recommendations, please let me know. Thank you!