-
Lenguaje
Java
-
Descripción
Pide un número entero y muestra su valor en letra
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
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
import java.util.Scanner;
public class Letra {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Ingrese una cantidad: ");
long cantidad = in.nextLong();
System.out.println();
if (cantidad < 0) {
System.out.print("menos ");
cantidad = -cantidad;
}
if (cantidad==0)
System.out.print("cero");
else
millonesEnLetra(cantidad);
System.out.println('\n');
}
static final String[] unidades = {null, "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
static final String[] decimas = {null, "diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"};
static final String[] diez_y = {null, "once", "doce", "trece", "catorce", "quince"};
static final String[] centenas = {null, "ciento", null, null, null, "quinientos", null, "setecientos", null, "novecientos"};
static void unidadesEnLetra(long cantidad) {
byte unidad = (byte) (cantidad % 10);
byte decima = (byte) ((cantidad / 10) % 10);
byte centena = (byte) ((cantidad / 100) % 10);
if (centena!=0)
if (centenas[centena]==null)
System.out.print(unidades[centena] + "cientos");
else if (centena!=1 || unidad!=0 || decima!=0)
System.out.print(centenas[centena]);
else
System.out.print("cien");
if (unidad!=0 || decima!=0) {
if (centena!=0)
System.out.print(" ");
if (decima==0)
System.out.print(unidades[unidad]);
else if (unidad==0)
System.out.print(decimas[decima]);
else if (decima==1 && unidad>=1 && unidad<=5)
System.out.print(diez_y[unidad]);
else if (decima==1)
System.out.print("dieci" + unidades[unidad]);
else if (decima==2)
System.out.print("veinti" + unidades[unidad]);
else
System.out.print(decimas[decima] + " y " + unidades[unidad]);
}
}
static void millaresEnLetra(long cantidad) {
long unidades = cantidad % 1000;
long miles = (cantidad / 1000) % 1000;
if (miles>1)
unidadesEnLetra(miles);
if (miles!=0)
System.out.print("mil");
if (unidades!=0 && miles!=0)
System.out.print(" ");
unidadesEnLetra(unidades);
}
static void millonesEnLetra(long cantidad) {
long unidades = cantidad % 1000000L;
long millares = (cantidad / 1000000L) % 1000000L;
if (millares>1) {
millaresEnLetra(millares);
System.out.print(" millones");
}
else if (millares!=0)
System.out.print("un mill\242n");
if (unidades!=0 && millares!=0)
System.out.print(" ");
millaresEnLetra(unidades);
}
}
public class Letra {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Ingrese una cantidad: ");
long cantidad = in.nextLong();
System.out.println();
if (cantidad < 0) {
System.out.print("menos ");
cantidad = -cantidad;
}
if (cantidad==0)
System.out.print("cero");
else
millonesEnLetra(cantidad);
System.out.println('\n');
}
static final String[] unidades = {null, "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve"};
static final String[] decimas = {null, "diez", "veinte", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"};
static final String[] diez_y = {null, "once", "doce", "trece", "catorce", "quince"};
static final String[] centenas = {null, "ciento", null, null, null, "quinientos", null, "setecientos", null, "novecientos"};
static void unidadesEnLetra(long cantidad) {
byte unidad = (byte) (cantidad % 10);
byte decima = (byte) ((cantidad / 10) % 10);
byte centena = (byte) ((cantidad / 100) % 10);
if (centena!=0)
if (centenas[centena]==null)
System.out.print(unidades[centena] + "cientos");
else if (centena!=1 || unidad!=0 || decima!=0)
System.out.print(centenas[centena]);
else
System.out.print("cien");
if (unidad!=0 || decima!=0) {
if (centena!=0)
System.out.print(" ");
if (decima==0)
System.out.print(unidades[unidad]);
else if (unidad==0)
System.out.print(decimas[decima]);
else if (decima==1 && unidad>=1 && unidad<=5)
System.out.print(diez_y[unidad]);
else if (decima==1)
System.out.print("dieci" + unidades[unidad]);
else if (decima==2)
System.out.print("veinti" + unidades[unidad]);
else
System.out.print(decimas[decima] + " y " + unidades[unidad]);
}
}
static void millaresEnLetra(long cantidad) {
long unidades = cantidad % 1000;
long miles = (cantidad / 1000) % 1000;
if (miles>1)
unidadesEnLetra(miles);
if (miles!=0)
System.out.print("mil");
if (unidades!=0 && miles!=0)
System.out.print(" ");
unidadesEnLetra(unidades);
}
static void millonesEnLetra(long cantidad) {
long unidades = cantidad % 1000000L;
long millares = (cantidad / 1000000L) % 1000000L;
if (millares>1) {
millaresEnLetra(millares);
System.out.print(" millones");
}
else if (millares!=0)
System.out.print("un mill\242n");
if (unidades!=0 && millares!=0)
System.out.print(" ");
millaresEnLetra(unidades);
}
}