Convesor de Unidades de Masa(Java)
Hola denuevo, por aquí traigo un avance de una aplicación en la que estoy trabajando, esto es un borrado de lo que sera apenas una mini función para hacer conversiones de unidades de masa, la idea a largo plazo es hacer una gran aplicación que nos permitirá realizar cálculos,analisis, gráficas etc. de problemas de Física de Secundaria y Universitária.
EL ALGOTIRMO: es simple está basado en utilizacion de variables de tipo float, para ahorrar espacio de momoria, y la utilizacion de la estructura en caso, o "switch case".
tomé como referencia este gráfico que nos da una idea de que es lo que se está ejecutando.(no es para nada un diagrama de flujo, solo es la referencia gráfica para realizar los cálculos)
package conversor.de.unidades.de.masa;
import javax.swing.JOptionPane;
/**
@author ROBERT
*/
public class ConversorDeUnidadesDeMasa {/**
@param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic herefloat gramo,decigramo,centigramo,miligramo,decagramo,hectogramo,kilogramo,conversion;
int opcion_p,opcion_kg,opcion_hg,opcion_dag,opcion_g,opcion_dg,opcion_cg,opcion_mg;opcion_p=Integer.parseInt(JOptionPane.showInputDialog(null, "Conversor de Unidades de Masa\n\n"
+"1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)Decagramo\n"
+ "4)Gramo\n"
+ "5)Decigramo\n"
+ "6)Centigramo\n"
+ "7)Miligramo\n"
+ "8)Salir"));switch(opcion_p) {
case 1:kilogramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en kg"));
opcion_kg=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Hectogramo\n"
+ "2)Decagramo\n"
+ "3)Gramo\n"
+ "4)Decigramo\n"
+ "5)Centigramo\n"
+ "6)Miligramo\n"));
switch(opcion_kg) {
case 1: conversion=kilogramo10;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 2:conversion=kilogramo100;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 3:conversion=kilogramo1000;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 4:conversion=kilogramo10000;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 5:conversion=kilogramo100000;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
case 6:conversion=kilogramo1000000;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;}
case 2:hectogramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en hg"));
opcion_hg=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Decagramo\n"
+ "3)Gramo\n"
+ "4)Decigramo\n"
+ "5)Centigramo\n"
+ "6)Miligramo\n"));
switch(opcion_hg) {
case 1: conversion=hectogramo/10;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=hectogramo10;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 3:conversion=hectogramo100;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 4:conversion=hectogramo1000;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 5:conversion=hectogramo10000;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
case 6:conversion=hectogramo100000;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}
case 3:decagramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en dag"));
opcion_dag=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)Gramo\n"
+ "4)Decigramo\n"
+ "5)Centigramo\n"
+ "6)Miligramo\n"));
switch(opcion_dag) {
case 1: conversion=decagramo/100;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=decagramo/10;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 3:conversion=decagramo10;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 4:conversion=decagramo100;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 5:conversion=decagramo1000;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
case 6:conversion=decagramo*10000;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}case 4:gramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en g"));
opcion_g=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)decagramo\n"
+ "4)Decigramo\n"
+ "5)Centigramo\n"
+ "6)Miligramo\n"));
switch(opcion_g) {
case 1: conversion=gramo/1000;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=gramo/100;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 3:conversion=gramo/10;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 4:conversion=gramo10;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 5:conversion=gramo100;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
case 6:conversion=gramo1000;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}
case 5:decigramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en dg"));
opcion_dg=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)decagramo\n"
+ "4)gramo\n"
+ "5)Centigramo\n"
+ "6)Miligramo\n"));
switch(opcion_dg) {
case 1: conversion=decigramo/10000;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=decigramo/1000;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 3:conversion=decigramo/100;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 4:conversion=decigramo/10;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 5:conversion=decigramo10;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
case 6:conversion=decigramo100;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}
case 6:centigramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en cg"));
opcion_cg=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)decagramo\n"
+ "4)gramo\n"
+ "5)decigramo\n"
+ "6)Miligramo\n"));
switch(opcion_cg) {
case 1: conversion=centigramo/100000;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=centigramo/10000;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 3:conversion=centigramo/1000;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 4:conversion=centigramo/100;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 5:conversion=centigramo/10;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 6:conversion=centigramo10;
JOptionPane.showMessageDialog(null, +conversion+" mg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}
case 7:miligramo=Float.parseFloat(JOptionPane.showInputDialog(null, "Digite cantidad en mg"));
opcion_mg=Integer.parseInt(JOptionPane.showInputDialog(null, "Convertir a: \n"
+ "1)Kilogramo\n"
+ "2)Hectogramo\n"
+ "3)Decagramo\n"
+ "4)Gramo\n"
+ "5)Decigramo\n"
+ "6)Centigramo\n"));
switch(opcion_mg) {
case 1: conversion=miligramo/1000000;
JOptionPane.showMessageDialog(null, +conversion+" kg");
break;
case 2:conversion=miligramo/100000;
JOptionPane.showMessageDialog(null, +conversion+" hg");
break;
case 3:conversion=miligramo/10000;
JOptionPane.showMessageDialog(null, +conversion+" dag");
break;
case 4:conversion=miligramo/1000;
JOptionPane.showMessageDialog(null, +conversion+" g");
break;
case 5:conversion=miligramo/100;
JOptionPane.showMessageDialog(null, +conversion+" dg");
break;
case 6:conversion=miligramo/10;
JOptionPane.showMessageDialog(null, +conversion+" cg");
break;
default:
JOptionPane.showMessageDialog(null, "Opcion Invalida");
break;
}
case 8:
break;
}
}
}