Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/09/2009, 16:59
Kuronokei
 
Fecha de Ingreso: septiembre-2009
Mensajes: 5
Antigüedad: 14 años, 7 meses
Puntos: 0
Pasar de letras a numeros

Estoy haciendo un programa en Java(netbeans 6.5) que reciba el nombre de un numero y me devuelva el numero en un messagebox

POR EJEMPLO
yo pongo ciento trece
y el programa devuelve 113

el problema es que si me paso de 200 el programa suma cadenas repetidas y me da un resultado mayor al que es------
este es mi codigo(soy principiante)


Código:
public class deletrasanumeros {


    public String paso(String nm){
    Integer cuento;
    cuento = 0;
        if (nm.equals("")) {
            JOptionPane.showMessageDialog(null, "No ha escrito nada");


        }
        if (nm.contains("uno")) {
         cuento = cuento + 1;
        }
    if (nm.contains("dos")) {
         cuento = cuento + 2;
        }
    if (nm.contains("tres")) {
         cuento = cuento + 3;
        }
    if (nm.contains("cuatro")) {
         cuento = cuento + 4;
        }
    if (nm.contains("cinco")) {
         cuento = cuento + 5;
        }
    if (nm.contains("seis")) {
         cuento = cuento + 6;
        }
    if (nm.contains("siete")) {
         cuento = cuento + 7;
        }
    if (nm.contains("ocho")) {
         cuento = cuento + 8;
        }
    if (nm.contains("nueve")) {
         cuento = cuento + 9;
        }
    if (nm.contains("diez")) {
         cuento = cuento + 10;
        }
    if (nm.contains("once")) {
         cuento = cuento + 11;
        }
    if (nm.contains("doce")) {
         cuento = cuento + 12;
        }
    if (nm.contains("trece")) {
         cuento = cuento + 13;
        }
    if (nm.contains("catorce")) {
         cuento = cuento + 14;
        }
    if (nm.contains("quince")) {
         cuento = cuento + 15;
        }
    if (nm.contains("dieciseis")) {
         cuento = cuento + 16;
        }
    if (nm.contains("diecisiete")) {
         cuento = cuento + 17;
        }
    if (nm.contains("dieciocho")) {
         cuento = cuento + 18;
        }
    if (nm.contains("diecinueve")) {
         cuento = cuento + 19;
        }
    if (nm.contains("veinte")) {
         cuento = cuento + 20;
        }
    if (nm.contains("veinti")) {
         cuento = cuento + 1;
        }
    if (nm.contains("treinta")) {
         cuento = cuento + 30;
        }
    if (nm.contains("cuarenta")) {
         cuento = cuento + 40;
        }

    if (nm.contains("cincuenta")) {
         cuento = cuento + 50;
        }
    if (nm.contains("sesenta")) {
         cuento = cuento + 60;
        }
    if (nm.contains("setenta")) {
         cuento = cuento + 70;
        }
    if (nm.contains("ochenta")) {
         cuento = cuento + 80;
        }
    if (nm.contains("noventa")) {
         cuento = cuento + 90;
        }
    if (nm.contains("cien")) {
         cuento = cuento + 100;
        }
    if (nm.contains("ciento")) {
         cuento = cuento + 100;
        }
    if (nm.contains("doscientos")) {
         cuento = cuento + 200;
        }
    if (nm.contains("trescientos")) {
         cuento = cuento + 300;
        }
    if (nm.contains("cuatrocientos")) {
         cuento = cuento + 400;
        }
    if (nm.contains("quinientos")) {
         cuento = cuento + 500;
        }
    if (nm.contains("seiscientos")) {
         cuento = cuento + 600;
        }
    if (nm.contains("setecientos")) {
         cuento = cuento + 700;
        }
    if (nm.contains("ochocientos")) {
         cuento = cuento + 800;
        }
    if (nm.contains("novecientos")) {
         cuento = cuento + 900;
        }
    if (nm.contains("mil")) {
         cuento = cuento + 1000;
        }
















    return cuento.toString();
    }
Alguien podria ayudarme??????