Java - AYUDA, NECESITO CORRER MI PROGRAMA EN JAVA FX

   
Vista:

AYUDA, NECESITO CORRER MI PROGRAMA EN JAVA FX

Publicado por carlos (10 intervenciones) el 21/04/2017 21:15:36
Buenas,

Necesito ayuda porfavor.. Tengo un programa que convierte numeros a letras en java este es el codigo:

Te convierte numeros desde 1 hasta el 9999, necesito poder correr este programa en JAVA FX que pregunte el numero y el resultado lo imprima por ahi mismo..

Si alguien me puede ayudar se lo agradesco..

Saludos
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
package app;
 
import java.util.Scanner;
 
public class Main {
 
    private final int MAX_VALUE = 9999;
    private int[] digitos;
 
    private final String[][] letters = {
            {"uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"},
            {"diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"},
            {"ciento", "doscientos", "trescientos", "cuatrocientos", "quinientos", "seicientos", "setecientos", "ochocientos", "novecientos"},
            {"mil", "dos mil", "tres mil", "cuatro mil", "cinco mil", "seis mil", "siete mil", "ocho mil", "nueve mil"}
    };
 
    private final String[][] especial = {
            {
                    "diez",
                    "once",
                    "doce",
                    "trece",
                    "catorce",
                    "quince",
                    "dieciséis",
                    "diecisiete",
                    "dieciocho",
                    "diecinueve"
            },
            {
                    "veinte",
                    "veintiuno",
                    "veintidós",
                    "veintitrés",
                    "veinticuatro",
                    "veinticinco",
                    "veintiséis",
                    "veintisiete",
                    "veintiocho",
                    "veintinueve"
            }
    };
 
    private void inicializaDigitos(int numero) {
 
        String numeroToString = Integer.toString(numero);
 
        digitos = new int[numeroToString.length()];
        int j = 0;
        for (int i = numeroToString.length() - 1; i > 0; i--) {
            digitos[j++] = Integer.parseInt(numeroToString.substring(i, i + 1));
        }
 
        digitos[j] = Integer.parseInt(numeroToString.substring(0, 1));
 
    }
 
    private String procesarDecenas() {
 
        if (1 == digitos.length) {
            return letters[0][digitos[0] - 1];
        } else if (digitos.length >= 2) {
            if ((1 == digitos[1] || 2 == digitos[1])) {
                return especial[digitos[1] - 1][digitos[0]];
            } else {
                StringBuilder sb = new StringBuilder();
 
                for (int i = 1; i >= 0; i--) {
 
                    if (0 == digitos[i]) {
                        continue;
                    }
 
                    sb.append(letters[i][digitos[i] - 1]);
                    sb.append(" y ");
 
                }
                return sb.substring(0, sb.length() - 2).toString();
            }
        }
 
        return null;
 
    }
 
    private String procesarHastaDecenas() {
 
        StringBuilder sb = new StringBuilder();
        for (int i = digitos.length - 1; i >= 2; i--) {
 
            if (0 == digitos[i]) {
                continue;
            }
 
            sb.append(letters[i][digitos[i] - 1]);
 
            sb.append(" ");
        }
 
        return sb.toString();
 
    }
 
    public String obtenerLetras() {
 
        StringBuilder sb = new StringBuilder();
        sb.append(procesarHastaDecenas());
        sb.append(procesarDecenas());
        return sb.toString();
    }
 
    public Main(int numero) {
 
        if (0 > numero || MAX_VALUE < numero) {
            throw new IllegalArgumentException("Verifique el numero");
        }
 
        inicializaDigitos(numero);
 
    }
 
    public static void main(String[] args) {
 
        Scanner scanner = null;
 
        try {
            System.out.print("Ingresa numero entre 0 y 9999: ");
            scanner = new Scanner(System.in);
            int numero = scanner.nextInt();
            Main ntl = new Main(numero);
 
            System.out.println(ntl.obtenerLetras());
        } catch (Exception e) {
        } finally {
            if (null != scanner) {
                System.out.print("Error en el programa");
                scanner.close();
            }
        }
 
    }
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

AYUDA, NECESITO CORRER MI PROGRAMA EN JAVA FX

Publicado por carlos (10 intervenciones) el 21/04/2017 21:25:18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
package app;
import java.util.Scanner;
 
public class Main {
 
    private final int MAX_VALUE = 9999;
    private int[] digitos;
 
    private final String[][] letters = {
            {"uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"},
            {"diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"},
            {"ciento", "doscientos", "trescientos", "cuatrocientos", "quinientos", "seicientos", "setecientos", "ochocientos", "novecientos"},
            {"mil", "dos mil", "tres mil", "cuatro mil", "cinco mil", "seis mil", "siete mil", "ocho mil", "nueve mil"}
    };
 
    private final String[][] especial = {
            {
                    "diez",
                    "once",
                    "doce",
                    "trece",
                    "catorce",
                    "quince",
                    "dieciséis",
                    "diecisiete",
                    "dieciocho",
                    "diecinueve"
            },
            {
                    "veinte",
                    "veintiuno",
                    "veintidós",
                    "veintitrés",
                    "veinticuatro",
                    "veinticinco",
                    "veintiséis",
                    "veintisiete",
                    "veintiocho",
                    "veintinueve"
            }
    };
 
    private void inicializaDigitos(int numero) {
 
        String numeroToString = Integer.toString(numero);
 
        digitos = new int[numeroToString.length()];
        int j = 0;
        for (int i = numeroToString.length() - 1; i > 0; i--) {
            digitos[j++] = Integer.parseInt(numeroToString.substring(i, i + 1));
        }
 
        digitos[j] = Integer.parseInt(numeroToString.substring(0, 1));
 
    }
 
    private String procesarDecenas() {
 
        if (1 == digitos.length) {
            return letters[0][digitos[0] - 1];
        } else if (digitos.length >= 2) {
            if ((1 == digitos[1] || 2 == digitos[1])) {
                return especial[digitos[1] - 1][digitos[0]];
            } else {
                StringBuilder sb = new StringBuilder();
 
                for (int i = 1; i >= 0; i--) {
 
                    if (0 == digitos[i]) {
                        continue;
                    }
 
                    sb.append(letters[i][digitos[i] - 1]);
                    sb.append(" y ");
 
                }
                return sb.substring(0, sb.length() - 2).toString();
            }
        }
 
        return null;
 
    }
 
    private String procesarHastaDecenas() {
 
        StringBuilder sb = new StringBuilder();
        for (int i = digitos.length - 1; i >= 2; i--) {
 
            if (0 == digitos[i]) {
                continue;
            }
 
            sb.append(letters[i][digitos[i] - 1]);
 
            sb.append(" ");
        }
 
        return sb.toString();
 
    }
 
    public String obtenerLetras() {
 
        StringBuilder sb = new StringBuilder();
        sb.append(procesarHastaDecenas());
        sb.append(procesarDecenas());
        return sb.toString();
    }
 
    public Main(int numero) {
 
        if (0 > numero || MAX_VALUE < numero) {
            throw new IllegalArgumentException("Verifique el numero");
        }
 
        inicializaDigitos(numero);
 
    }
 
    public static void main(String[] args) {
 
        Scanner scanner = null;
 
        try {
            System.out.print("Ingresa numero: ");
            scanner = new Scanner(System.in);
            int numero = scanner.nextInt();
            Main ntl = new Main(numero);
 
            System.out.println(ntl.obtenerLetras());
        } catch (Exception e) {
        } finally {
            if (null != scanner) {
                scanner.close();
            }
        }
 
    }
 
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

AYUDA, NECESITO CORRER MI PROGRAMA EN JAVA FX

Publicado por Andrés andres.mella.romero@gmail.com (337 intervenciones) el 23/04/2017 08:01:31
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

AYUDA, NECESITO CORRER MI PROGRAMA EN JAVA FX

Publicado por carlos (10 intervenciones) el 23/04/2017 17:01:59
Muchas Gracias Andres nuevamente...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad