Advertisement
urksiful

Writer Number to Numeric Express

Jun 13th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 18.78 KB | None | 0 0
  1.  
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.util.ArrayList;
  5. import java.util.StringTokenizer;
  6.  
  7. /**
  8.  *
  9.  * @author Mario
  10.  */
  11. public class Trab07_LetraNum {
  12.  
  13.     ArrayList<String> num = new ArrayList<String>();
  14.  
  15.     public static void main(String[] args) {
  16.         Trab07_LetraNum obj = new Trab07_LetraNum();
  17.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  18.         String numero;
  19.         try {
  20.  
  21.             System.out.println("Ingresa el número a leer");
  22.             numero = br.readLine().toUpperCase();
  23.             if (obj.UnidadesContinuar(numero)) {
  24.                 if (obj.noCentenas(numero)) {
  25.                     if (obj.decenasChecar(numero)) {
  26.                         String line = "";
  27.                         StringTokenizer st = new StringTokenizer(numero, " ");
  28.                         while (st.hasMoreTokens()) {
  29.                             line = st.nextToken();
  30.                             if (!line.equals("Y")) {
  31.                                 obj.num.add(line);
  32.                             }
  33.                         }
  34.                         //fw.write(obj.decenas(obj.num.get(0))+obj.unidades(obj.num.get(1))+"\r\n");
  35.                         System.out.println(obj.decenas(obj.num.get(0)) + obj.unidades(obj.num.get(1)));
  36.                     }
  37.  
  38.                 } else if (obj.centenasChecar(numero)) {
  39.                     String nuevoNumero="";
  40.                     String cent = obj.centenas(numero);
  41.                    
  42.                     if (obj.UnidadesCentenas(obj.limpiar(numero), cent)) {
  43.                         if (obj.CentenasChecar(obj.limpiar(numero), cent)) {
  44.                             String line = "";
  45.                             StringTokenizer st = new StringTokenizer(obj.limpiar(numero), " ");
  46.                             while (st.hasMoreTokens()) {
  47.                                 line = st.nextToken();
  48.                                 if (!line.equals("Y")) {
  49.                                     obj.num.add(line);
  50.                                 }
  51.                             }
  52.                            
  53.                             cent = cent.concat(obj.decenas(obj.num.get(0)) + obj.unidades(obj.num.get(1)));
  54.                             System.out.println(cent);
  55.                         }
  56.                     }
  57.  
  58.                    
  59.                 }
  60.  
  61.             }
  62.  
  63.         } catch (Exception err) {;
  64.         }
  65.  
  66.     }
  67.  
  68.     public boolean UnidadesContinuar(String cad) {
  69.         boolean res = true;
  70.  
  71.         switch (cad) {
  72.             case "UNO":
  73.                 //fw.Write("1"+"\r\n");
  74.                 System.out.println("1");
  75.                 res = false;
  76.                 break;
  77.             case "DOS":
  78.                 System.out.println("2");
  79.                 res = false;
  80.                 break;
  81.             case "TRES":
  82.                 System.out.println("3");
  83.                 res = false;
  84.                 break;
  85.             case "CUATRO":
  86.                 System.out.println("4");
  87.                 res = false;
  88.                 break;
  89.             case "CINCO":
  90.                 System.out.println("5");
  91.                 res = false;
  92.                 break;
  93.             case "SEIS":
  94.                 System.out.println("6");
  95.                 res = false;
  96.                 break;
  97.             case "SIETE":
  98.                 System.out.println("7");
  99.                 res = false;
  100.                 break;
  101.             case "OCHO":
  102.                 System.out.println("8");
  103.                 res = false;
  104.                 break;
  105.             case "NUEVE":
  106.                 System.out.println("9");
  107.                 res = false;
  108.                 break;
  109.             case "DIEZ":
  110.                 System.out.println("10");
  111.                 res = false;
  112.                 break;
  113.             case "ONCE":
  114.                 System.out.println("11");
  115.                 res = false;
  116.                 break;
  117.             case "DOCE":
  118.                 System.out.println("12");
  119.                 res = false;
  120.                 break;
  121.             case "TRECE":
  122.                 System.out.println("13");
  123.                 res = false;
  124.                 break;
  125.             case "CATORCE":
  126.                 System.out.println("14");
  127.                 res = false;
  128.                 break;
  129.             case "QUINCE":
  130.                 System.out.println("15");
  131.                 res = false;
  132.                 break;
  133.             case "DIECISEIS":
  134.                 System.out.println("16");
  135.                 res = false;
  136.                 break;
  137.             case "DIECISIETE":
  138.                 System.out.println("17");
  139.                 res = false;
  140.                 break;
  141.             case "DIECIOCHO":
  142.                 System.out.println("18");
  143.                 res = false;
  144.                 break;
  145.             case "DIECINUEVE":
  146.                 System.out.println("19");
  147.                 res = false;
  148.                 break;
  149.             case "VEINTE":
  150.                 System.out.println("20");
  151.                 res = false;
  152.                 break;
  153.             case "VEINTIUNO":
  154.                 System.out.println("21");
  155.                 res = false;
  156.                 break;
  157.             case "VEINTIDOS":
  158.                 System.out.println("22");
  159.                 res = false;
  160.                 break;
  161.             case "VEINTITRES":
  162.                 System.out.println("23");
  163.                 res = false;
  164.                 break;
  165.             case "VEINTICUATRO":
  166.                 System.out.println("24");
  167.                 res = false;
  168.                 break;
  169.             case "VEINTICINCO":
  170.                 System.out.println("25");
  171.                 res = false;
  172.                 break;
  173.             case "VEINTISEIS":
  174.                 System.out.println("26");
  175.                 res = false;
  176.                 break;
  177.             case "VEINTISIETE":
  178.                 System.out.println("27");
  179.                 res = false;
  180.                 break;
  181.             case "VEINTIOCHO":
  182.                 System.out.println("28");
  183.                 res = false;
  184.                 break;
  185.             case "VEINTINUEVE":
  186.                 System.out.println("29");
  187.                 res = false;
  188.                 break;
  189.  
  190.         }
  191.  
  192.         return res;
  193.     }
  194.  
  195.     public boolean noCentenas(String cad) {
  196.         boolean res = true;
  197.  
  198.         if (cad.contains("CIEN") || cad.contains("DOSCIENTOS") || cad.contains("TRESCIENTOS")
  199.                 || cad.contains("CUATROCIENTOS") || cad.contains("QUINIENTOS") || cad.contains("SEISCIENTOS")
  200.                 || cad.contains("SETECIENTOS") || cad.contains("OCHOCIENTOS") || cad.contains("NOVECIENTOS")) {
  201.             res = false;
  202.         }
  203.         return res;
  204.     }
  205.  
  206.     public String decenas(String cad) {
  207.         String res = "";
  208.         switch (cad) {
  209.             case "TREINTA":
  210.                 res = "3";
  211.                 break;
  212.             case "CUARENTA":
  213.                 res = "4";
  214.                 break;
  215.             case "CINCUENTA":
  216.                 res = "5";
  217.                 break;
  218.             case "SESENTA":
  219.                 res = "6";
  220.                 break;
  221.             case "SETENTA":
  222.                 res = "7";
  223.                 break;
  224.             case "OCHENTA":
  225.                 res = "8";
  226.                 break;
  227.             case "NOVENTA":
  228.                 res = "9";
  229.                 break;
  230.  
  231.         }
  232.  
  233.         return res;
  234.     }
  235.  
  236.     public String unidades(String cad) {
  237.         String res = "";
  238.         switch (cad) {
  239.             case "UNO":
  240.  
  241.                 res = "1";
  242.                 break;
  243.             case "DOS":
  244.                 res = "2";
  245.                 break;
  246.             case "TRES":
  247.                 res = "3";
  248.                 break;
  249.             case "CUATRO":
  250.                 res = "4";
  251.                 break;
  252.             case "CINCO":
  253.                 res = "5";
  254.                 break;
  255.             case "SEIS":
  256.                 res = "6";
  257.                 break;
  258.             case "SIETE":
  259.                 res = "7";
  260.                 break;
  261.             case "OCHO":
  262.                 res = "8";
  263.                 break;
  264.             case "NUEVE":
  265.                 res = "9";
  266.                 break;
  267.             default:
  268.                 System.out.println("ERROR");
  269.                 break;
  270.         }
  271.  
  272.         return res;
  273.     }
  274.  
  275.     public boolean decenasChecar(String cad) {
  276.         boolean res = true;
  277.         switch (cad) {
  278.             case "TREINTA":
  279.                 //fw.write("30"+"\r\n")
  280.                 System.out.println("30");
  281.                 res = false;
  282.                 break;
  283.             case "CUARENTA":
  284.                 System.out.println("40");
  285.                 res = false;
  286.                 break;
  287.             case "CINCUENTA":
  288.                 System.out.println("50");
  289.                 res = false;
  290.                 break;
  291.             case "SESENTA":
  292.                 System.out.println("60");
  293.                 res = false;
  294.                 break;
  295.             case "SETENTA":
  296.                 System.out.println("70");
  297.                 res = false;
  298.                 break;
  299.             case "OCHENTA":
  300.                 System.out.println("80");
  301.                 res = false;
  302.                 break;
  303.             case "NOVENTA":
  304.                 System.out.println("90");
  305.                 res = false;
  306.                 break;
  307.  
  308.         }
  309.  
  310.         return res;
  311.     }
  312.  
  313.     public boolean centenasChecar(String cad) {
  314.         boolean res = true;
  315.         switch (cad) {
  316.             case "CIEN":
  317.                 //fw.write("100"+"\r\n")
  318.                 System.out.println("100");
  319.                 res = false;
  320.                 break;
  321.             case "DOSCIENTOS":
  322.                 System.out.println("200");
  323.                 res = false;
  324.                 break;
  325.             case "TRESCIENTOS":
  326.                 System.out.println("300");
  327.                 res = false;
  328.                 break;
  329.             case "CUATROCIENTOS":
  330.                 System.out.println("400");
  331.                 res = false;
  332.                 break;
  333.             case "QUINIENTOS":
  334.                 System.out.println("500");
  335.                 res = false;
  336.                 break;
  337.             case "SEISCIENTOS":
  338.                 System.out.println("600");
  339.                 res = false;
  340.                 break;
  341.             case "SETECIENTOS":
  342.                 System.out.println("700");
  343.                 res = false;
  344.                 break;
  345.             case "OCHOCIENTOS":
  346.                 System.out.println("800");
  347.                 res = false;
  348.                 break;
  349.             case "NOVECIENTOS":
  350.                 System.out.println("900");
  351.                 res = false;
  352.                 break;
  353.  
  354.         }
  355.         return res;
  356.     }
  357.  
  358.     public String centenas(String cad) {
  359.         String res = "";
  360.         if (cad.startsWith("CIENTO")) {
  361.             res = "1";
  362.            
  363.            
  364.         } else if (cad.startsWith("DOSCIENTOS")) {
  365.             res = "2";
  366.            
  367.         } else if (cad.startsWith("TRECIENTOS")) {
  368.             res = "3";
  369.          
  370.         } else if (cad.startsWith("CUATROCIENTOS")) {
  371.             res = "4";
  372.            
  373.         } else if (cad.startsWith("QUINIENTOS")) {
  374.             res = "5";
  375.            
  376.         } else if (cad.startsWith("SEISCIENTOS")) {
  377.             res = "6";
  378.            
  379.         } else if (cad.startsWith("SETECIENTOS")) {
  380.             res = "7";
  381.            
  382.         } else if (cad.startsWith("OCHOCIENTOS")) {
  383.             res = "8";
  384.            
  385.         } else if (cad.startsWith("NOVECIENTOS")) {
  386.             res = "9";
  387.            
  388.  
  389.         }
  390.         return res;
  391.     }
  392.    
  393.     public String limpiar(String cad){
  394.         String res = "";
  395.         if (cad.startsWith("CIENTO")) {
  396.            
  397.             res = cad.substring(7);
  398.            
  399.         } else if (cad.startsWith("DOSCIENTOS")) {
  400.            
  401.               res =cad.substring(11);
  402.         } else if (cad.startsWith("TRECIENTOS")) {
  403.            
  404.             res =cad.substring(11);
  405.         } else if (cad.startsWith("CUATROCIENTOS")) {
  406.            
  407.             res =cad.substring(14);
  408.         } else if (cad.startsWith("QUINIENTOS")) {
  409.            
  410.            res = cad.substring(11);
  411.         } else if (cad.startsWith("SEISCIENTOS")) {
  412.            
  413.             res = cad.substring(12);
  414.         } else if (cad.startsWith("SETECIENTOS")) {
  415.            
  416.             res = cad.substring(12);
  417.         } else if (cad.startsWith("OCHOCIENTOS")) {
  418.            
  419.             res = cad.substring(12);
  420.         } else if (cad.startsWith("NOVECIENTOS")) {
  421.            
  422.             res = cad.substring(12);
  423.  
  424.         }
  425.         return res;
  426.     }
  427.  
  428.     public boolean UnidadesCentenas(String numero, String cad) {
  429.         boolean res = true;
  430.  
  431.         switch (numero) {
  432.             case "UNO":
  433.  
  434.                 cad = cad.concat("01");
  435.                 System.out.println(cad);
  436.                 res = false;
  437.                 break;
  438.             case "DOS":
  439.                 cad = cad.concat("02");
  440.                 System.out.println(cad);
  441.                 res = false;
  442.                 break;
  443.             case "TRES":
  444.                 cad = cad.concat("03");
  445.                 System.out.println(cad);
  446.                 res = false;
  447.                 break;
  448.             case "CUATRO":
  449.                 cad = cad.concat("04");
  450.                 System.out.println(cad);
  451.                 res = false;
  452.                 break;
  453.             case "CINCO":
  454.                 cad = cad.concat("05");
  455.                 System.out.println(cad);
  456.                 res = false;
  457.                 break;
  458.             case "SEIS":
  459.                 cad = cad.concat("06");
  460.                 System.out.println(cad);
  461.                 res = false;
  462.                 break;
  463.             case "SIETE":
  464.                 cad = cad.concat("07");
  465.                 System.out.println(cad);
  466.                 res = false;
  467.                 break;
  468.             case "OCHO":
  469.                 cad = cad.concat("08");
  470.                 System.out.println(cad);
  471.                 res = false;
  472.                 break;
  473.             case "NUEVE":
  474.                 cad = cad.concat("09");
  475.                 System.out.println(cad);
  476.                 res = false;
  477.                 break;
  478.             case "DIEZ":
  479.                 cad = cad.concat("10");
  480.                 System.out.println(cad);
  481.                 res = false;
  482.                 break;
  483.             case "ONCE":
  484.                 cad = cad.concat("11");
  485.                 System.out.println(cad);
  486.                 res = false;
  487.                 break;
  488.             case "DOCE":
  489.                 cad = cad.concat("12");
  490.                 System.out.println(cad);
  491.                 res = false;
  492.                 break;
  493.             case "TRECE":
  494.                 cad = cad.concat("13");
  495.                 System.out.println(cad);
  496.                 res = false;
  497.                 break;
  498.             case "CATORCE":
  499.                 cad = cad.concat("14");
  500.                 System.out.println(cad);
  501.                 res = false;
  502.                 break;
  503.             case "QUINCE":
  504.                 cad = cad.concat("15");
  505.                 System.out.println(cad);
  506.                 res = false;
  507.                 break;
  508.             case "DIECISEIS":
  509.                 cad = cad.concat("16");
  510.                 System.out.println(cad);
  511.                 res = false;
  512.                 break;
  513.             case "DIECISIETE":
  514.                 cad = cad.concat("17");
  515.                 System.out.println(cad);
  516.                 res = false;
  517.                 break;
  518.             case "DIECIOCHO":
  519.                 cad = cad.concat("18");
  520.                 System.out.println(cad);
  521.                 res = false;
  522.                 break;
  523.             case "DIECINUEVE":
  524.                 cad = cad.concat("19");
  525.                 System.out.println(cad);
  526.                 res = false;
  527.                 break;
  528.             case "VEINTE":
  529.                 cad = cad.concat("20");
  530.                 System.out.println(cad);
  531.                 res = false;
  532.                 break;
  533.             case "VEINTIUNO":
  534.                 cad = cad.concat("21");
  535.                 System.out.println(cad);
  536.                 res = false;
  537.                 break;
  538.             case "VEINTIDOS":
  539.                 cad = cad.concat("22");
  540.                 System.out.println(cad);
  541.                 res = false;
  542.                 break;
  543.             case "VEINTITRES":
  544.                 cad = cad.concat("23");
  545.                 System.out.println(cad);
  546.                 res = false;
  547.                 break;
  548.             case "VEINTICUATRO":
  549.                 cad = cad.concat("24");
  550.                 System.out.println(cad);
  551.                 res = false;
  552.                 break;
  553.             case "VEINTICINCO":
  554.                 cad = cad.concat("25");
  555.                 System.out.println(cad);
  556.                 res = false;
  557.                 break;
  558.             case "VEINTISEIS":
  559.                 cad = cad.concat("26");
  560.                 System.out.println(cad);
  561.                 res = false;
  562.                 break;
  563.             case "VEINTISIETE":
  564.                 cad = cad.concat("27");
  565.                 System.out.println(cad);
  566.                 res = false;
  567.                 break;
  568.             case "VEINTIOCHO":
  569.                 cad = cad.concat("28");
  570.                 System.out.println(cad);
  571.                 res = false;
  572.                 break;
  573.             case "VEINTINUEVE":
  574.                 cad = cad.concat("29");
  575.                 System.out.println(cad);
  576.                 res = false;
  577.                 break;
  578.  
  579.         }
  580.  
  581.         return res;
  582.     }
  583.  
  584.     public boolean CentenasChecar(String numero, String cad) {
  585.         boolean res = true;
  586.         switch (numero) {
  587.             case "TREINTA":
  588.                 //fw.write("30"+"\r\n")
  589.                 cad = cad.concat("30");
  590.                 System.out.println(cad);
  591.                 res = false;
  592.                 break;
  593.             case "CUARENTA":
  594.                 cad = cad.concat("40");
  595.                 System.out.println(cad);
  596.                 res = false;
  597.                 break;
  598.             case "CINCUENTA":
  599.                 cad = cad.concat("50");
  600.                 System.out.println(cad);
  601.                 res = false;
  602.                 break;
  603.             case "SESENTA":
  604.                 cad = cad.concat("60");
  605.                 System.out.println(cad);
  606.                 res = false;
  607.                 break;
  608.             case "SETENTA":
  609.                 cad = cad.concat("70");
  610.                 System.out.println(cad);
  611.                 res = false;
  612.                 break;
  613.             case "OCHENTA":
  614.                 cad = cad.concat("80");
  615.                 System.out.println(cad);
  616.                 res = false;
  617.                 break;
  618.             case "NOVENTA":
  619.                 cad = cad.concat("90");
  620.                 System.out.println(cad);
  621.                 res = false;
  622.                 break;
  623.  
  624.         }
  625.        
  626.         return res;
  627.     }
  628.  
  629. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement