Documente Academic
Documente Profesional
Documente Cultură
Calcula la letra de un DNI, pediremos el DNI por teclado y nos devolver el DNI
completo.
Para calcular la letra, seguiremos esta formula dni-(dni/23*23) el resultado debe estar
entre 0 y 22. Haz un mtodo donde segn el resultado de la anterior formula busque en
un array de caracteres la posicin que corresponda a la letra. Esta es la tabla de
caracteres:
Posicion Letra
0
T
1
R
2
W
3
A
4
G
5
M
6
Y
7
F
8
P
9
D
10
X
11
B
12
N
13
J
14
Z
15
S
16
Q
17
V
18
H
19
L
20
C
21
K
22
E
Por ejemplo, si introduzco 70588387, el resultado sera de 7 que corresponde a F.
Spoiler
SeleccionarEsconder
1 import javax.swing.JOptionPane;
2 public class LetraDNIApp {
3
public static void main(String[] args) {
4
5
//Declaramos como constante por lo que dividir
6
final int DIVISOR=23;
7
//Insertamos el DNI
8
String texto=JOptionPane.showInputDialog("Escribe los numero
9
de tu DNI");
10
int dni=Integer.parseInt(texto);
11
12
//Usamos la formula
int res=dni-(dni/DIVISOR*DIVISOR);
13
14
//Invocamos el metodo
15
char letra=letraNIF(res);
16
17
//Mostramos el DNI completo
18
System.out.println("Tu DNI es " +dni+letra);
19
20
}
public static char letraNIF(int res){
21
22
//Definimos el array de char
23
char letrasNIF[]={'T', 'R', 'W', 'A', 'G', 'M', 'Y',
24
'F', 'P', 'D', 'X', 'B', 'N', 'J', 'Z',
25
'S', 'Q', 'V', 'H', 'L', 'C', 'K', 'E'};
26
//Devolvemos el valor en la posicion del array
27
return letrasNIF[res];
28
}
29}
30
31
32
33
7) Crea un array de nmeros y otro de String de 10 posiciones donde insertaremos notas
entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal la
nota en el array de nmeros, en el de Strings se insertaran los nombres de los alumnos.
Despus, crearemos un array de String donde insertaremos el resultado de la nota con
palabras.
Muestra por pantalla, el alumno su nota y su resultado en palabras. Crea los mtodos
que creas conveniente.
Spoiler
javax.swing.JOptionPane;
1 import
public class NotasApp {
2
3
public static void main(String[] args) {
4
SeleccionarEsconder
55
56
57
58
59
60
61
62
63
64
65
66
67
68}
69
70
71
72
73
74
case 5:
case 6:
resultado[i]="Bien";
break;
case 7:
case 8:
resultado[i]="Notable";
break;
case 9:
case 10:
resultado[i]="Sobresaliente";
break;
}
}
return resultado;
}