3URJUDPDFLyQ -DYD

Anuncio
3UiFWLFD
3URJUDPDFLyQ-DYD
,QIRUPiWLFD&XUVR3UiFWLFDQžSiJLQD
Ë1',&(
35È&7,&$1° 1.1
1.2
1.3
EJERCICIO 1: USO DE LA CLASE STRING PARA ORDENAR CADENAS .............................................................. 2
EJERCICIO 2: CLASE ORDENAR ..................................................................................................................... 3
EJERCICIO 3: USO DE LA CLASE VECTOR PARA CREAR UNA LISTA DE ALUMNOS........................................... 4
35È&7,&$1°
En esta práctica vas a ejercitarte con el uso de los array's y las clases más utilizadas de java.
Recuerda llevar los apuntes de clase que se te han dado esta semana.
En el primer ejercicio vas a repasar cómo se utiliza la clase 6WULQJ de -DYD y cómo se
crean los array's (en este caso de String's). También veras cómo se le pasa a una función o
método un array.
Los ejercicios siguientes no serán como el primer ejercicio. Los vas a hacer tú solo, con
el enunciado que se te dará más adelante.
(-(5&,&,2862'(/$&/$6(675,1*3$5$25'(1$5&$'(1$6
En este ejercicio se han creado dos métodos principales: leeCadena y Ordena. El primero
devuelve una cadena escrita por el teclado y el segundo ordena un array de String's que son
pasados a la función como primer argumento de forma ascendente o descendente según el
segundo parámetro tipo boolean que se le pasa a la función.
El programa pide por teclado "n" nombres y los ordena , primero de forma ascendente y
después de forma descendente, usando la misma función. El número "n" de nombres hay que
pasarlos en la línea de comando, al momento de ejecuatr el programa, de la siguiente manera:
!MDYD(MHU
A continuación podemos ver el código.
8VRGHODFODVH6WULQJSDUDRUGHQDUFDGHQDV
import java.io.*;
SXEOLFFODVV(MHU^
SXEOLFVWDWLFYRLGPDLQ6WULQJDUJV>@WKURZV,2([FHSWLRQ^
int num=0;
if (args.length > 0)
num = Integer.parseInt(args[0]);
else {
prt("Poner: >java Ejer1 12");
System.exit(0);
}
String[] str = new String[num];
for (int i=0;i<num;i++) {
prt(" Dar "+ (i+1) + " Nombre: ");
str[i] = leeCadena();
}
(VFXHOD6XSHULRUGH,QJHQLHURV8QLYHUVLGDGGH1DYDUUD
,QIRUPiWLFD&XUVR3UiFWLFDQžSiJLQD
// Imprimir las cadenas que hay en el array de String’s
prt("\nNombres dados antes de ordenar:");
for (int i=0;i<num;i++) prt("\n\tNombre "+(i+1)+" : "+str[i]);
//ordenar
Ordena(str,true);
//ordena ascendente
prt("\nNombres ordenados Ascendente:");
for (int i=0;i<num;i++) prt("\n\tNombre "+ (i+1) +" : "+str[i] );
Ordena(str,false);
//ordena descendente
prt("\nNombres ordenados Descendente:");
for (int i=0;i<num;i++) prt("\n\tNombre "+ (i+1) +" : "+str[i] );
}
SXEOLFVWDWLFYRLGSUW6WULQJVWU^
System.out.print(str);
}
SXEOLFVWDWLF6WULQJOHH&DGHQDWKURZV,2([FHSWLRQ^
char ch;
String str="";
while(true) {
ch = (char)System.in.read();
if (ch == ’\n’) break;
else str += ch;
}
return str;
}
SXEOLFVWDWLFYRLG2UGHQD6WULQJ>@FDGHQDVERROHDQRUGHQ^
int ret;
String tmp;
for (int i=0; i< cadenas.length-1; i++) {
for (int j=i+1; j< cadenas.length; j++) {
ret = cadenas[i].compareToIgnoreCase( cadenas[j] );
if (ret > 0 && orden) {
tmp = cadenas[i];
cadenas[i] = cadenas[j];
cadenas[j] = tmp;
}
if (ret < 0 && !orden) {
tmp = cadenas[i];
cadenas[i] = cadenas[j];
cadenas[j] = tmp;
}
}
}
}
}
ILQGHODFODVH(MHU
Como recomendación, al igual que en las prácticas anteriores, no te
dediques a pasar el código al JBuilder y ejecutarlo simplemente. Trata de
entender el funcionamiento del programa y lo que hace cada función.
(-(5&,&,2&/$6(25'(1$5
Como hemos dicho desde el comienzo del curso -DYD, el código que hagas tiene que ser
reutilizable, esto quiere decir que tienes que crear tus propias clases para que puedan ser
llamadas desde cualquier otro programa.
(VFXHOD6XSHULRUGH,QJHQLHURV8QLYHUVLGDGGH1DYDUUD
,QIRUPiWLFD&XUVR3UiFWLFDQžSiJLQD
En este ejercicio vas a crear la clase 2UGHQDU, la cual tiene que tener:
a) Dos variables miembro:
•
Una del tipo boolean (para ordenar de forma ascendente o descendente) y
•
Otra será el array de String's, donde estén los nombres a ordenar.
b) Dos métodos:
•
Método Ordenar(), que devuelva el array ordenado
•
Método Print() que imprima en la consola el array de datos ordenado.
Para probar la clase Ordenar, debes crear un proyecto, (MHU, dónde puedas crear los
objetos de la clase Ordenar y pasarle los elementos que deseas.
(-(5&,&,2862'(/$&/$6(9(&7253$5$&5($581$/,67$'($/80126
Para el desarrollo de este ejercicio debes crear una clase $OXPQR, la cual contenga las
principales características de un alumno:
•
Nombre
•
Apellido1
•
Apellido2
•
Carnet
•
Dirección
•
Año de Nacimiento
•
Teléfono, etc.
Recuerda que cada una de estas variables es de un determinado tipo (la variable Carnet
no es igual que el Nombre por ejemplo).
En el programa principal, (MHU, debes crear el objeto de la clase 9HFWRU, donde vas a ir
introduciendo todos los alumnos que vayas creando. Este programa debe permitir:
•
Añadir alumnos a la lista
•
Borrar uno determinado
•
Ver toda la lista
•
Ver los alumnos de un determinado Apellido
•
Editar uno para cambiar los datos.
1RROYLGHVTXH12SXHGHQKDEHUGRVDOXPQRVFRQHOPLVPR&DUQHW
(VFXHOD6XSHULRUGH,QJHQLHURV8QLYHUVLGDGGH1DYDUUD
Descargar