Sunteți pe pagina 1din 4

Ejemplo de programacin en java

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.

Si la nota esta entre 0 y 4,99 , sera un suspenso


Si esta entre 5 y 6,99 , sera un bien.
Si esta entre 7 y 8,99 sera un notable.
Si esta entre 9 y 10 sera un sobresaliente.

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

//Tamao del array


5
final int TAMANIO=10;
6
7
//Creamos los arrays
8
String nombres[]=new String[TAMANIO];
9
double notas[]=new double[TAMANIO];
10
//Rellenamos el array de una vez
11
rellenarArrays(notas, nombres);
12
13
//Devuelve las notas con palabras
14
String resultado[]=aadeResultado(notas);
15
16
//Mostramos el resultado
17
mostrarArrays(nombres, notas, resultado);
18
}
19
20
public static void rellenarArrays(double notas[], String
21
nombres[]){
22
for(int i=0;i<notas.length;i++){
23
//Introducimos los valores de una vez, se pueden hacer
24en metodos separados
nombres[i]=JOptionPane.showInputDialog("Introduce el
25
nombre del alumno "+(i+1));
26
27
double nota;
28
//Validamos la nota
29
do{
String texto=JOptionPane.showInputDialog("Introduce
30
una
nota
del
alumno
"+(i+1));
31
nota=Double.parseDouble(texto);
32
System.out.println(nota<=0 || nota>=10);
33
}while(nota<=0 || nota>=10);
34
notas[i]=nota;
}
35
}
36
37
public static void mostrarArrays(String nombres[], double notas[],
38String resultado[]){
39
for(int i=0;i<nombres.length;i++){
System.out.println("El alumno "+nombres[i]+" tiene una
40
nota
de
"+notas[i]+",
por lo que su resultado es "+resultado[i]);
41
}
42
}
43
44
public static String[] aadeResultado(double notas[]){
45
46
String resultado[]=new String[notas.length];
for(int i=0;i<notas.length;i++){
47
//Convertimos la nota a entero, despues se quedara como
48
estaba
49
switch((int)notas[i]){
50
case 1:
case 2:
51
case 3:
52
case 4:
53
resultado[i]="Suspenso";
54
break;

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;
}

S-ar putea să vă placă și