Vous êtes sur la page 1sur 110

Fundamentals of the Java

Programming Language,
Java SE 6
Activity Guide
SL-110-SE6-ES Rev E.1
D61796CS10
Edition 1.0
D64160
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Copyright 2008, 2009, Oracle and/or its affiliates. All rights reserved.
Disclaimer
This document contains proprietary information, is provided under a license agreement containing restrictions on use and
disclosure, and is protected by copyright and other intellectual property laws. You may copy and print this document solely for
your own use in an Oracle training course. The document may not be modified or altered in any way. Except as expressly
permitted in your license agreement or allowed by law, you may not use, share, download, upload, copy, print, display,
perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express
authorization of Oracle.
The information contained in this document is subject to change without notice. If you find any problems in the document,
please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This
document is not warranted to be error-free.
Sun Microsystems, Inc. Disclaimer
This training manual may include references to materials, offerings, or products that were previously offered by Sun
Microsystems, Inc. Certain materials, offerings, services, or products may no longer be offered or provided.Oracle and its
affiliates cannot be held responsible for any such references should they appear in the text provided.
Restricted Rights Notice
If this documentation is delivered to the U.S. Government or anyone using the documentation on behalf of the U.S.
Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS
The U.S. Governments rights to use, modify, reproduce, release, perform, display, or disclose these training materials are
restricted by the terms of the applicable Oracle license agreement and/or the applicable U.S. Government contract.
Trademark Notice
Oracle and J ava are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective
owners.
AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro
Devices. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used
under license and are trademarks or registered trademarks of SPARC International, Inc. UNIX is a registered trademark
licensed through X/Open Company, Ltd.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
This page intentionally left blank.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
This page intentionally left blank.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
v
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido
Descripcin de la tecnologa Java..............................................1-1
Objetivos............................................................................................. 1-1
Contenido de la prctica ................................................................... 1-2
Preguntas de repaso .......................................................................... 1-3
Resumen del ejercicio........................................................................ 1-5
Anlisis de un problema y diseo de la solucin .........................2-1
Objetivos............................................................................................. 2-1
Contenido de la prctica ................................................................... 2-2
Preguntas de repaso .......................................................................... 2-3
Ejercicio 1: anlisis del dominio de un problema.......................... 2-4
Preparacin................................................................................ 2-4
Tarea: anlisis ............................................................................ 2-4
Ejercicio 2: diseo de la solucin ..................................................... 2-6
Tarea: diseo.............................................................................. 2-6
Resumen del ejercicio........................................................................ 2-8
Desarrollo y comprobacin de un programa Java........................3-1
Objetivos............................................................................................. 3-1
Contenido de la prctica ................................................................... 3-2
Preguntas de repaso .......................................................................... 3-3
Ejercicio 1: modificacin, compilacin y ejecucin de un
programa Java ................................................................................. 3-4
Preparacin................................................................................ 3-4
Tarea: compilacin y ejecucin de un programa Java......... 3-4
Ejercicio 2: creacin, compilacin y ejecucin de una clase
de Java............................................................................................... 3-6
Tarea: creacin y comprobacin de una clase de Java......... 3-6
Resumen del ejercicio........................................................................ 3-8
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
vi Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Declaracin, inicializacin y uso de variables.............................. 4-1
Objetivos............................................................................................. 4-1
Contenido de la prctica ................................................................... 4-2
Preguntas de repaso .......................................................................... 4-3
Ejercicio 1: uso de variables de tipos primitivos en un
programa.......................................................................................... 4-5
Preparacin................................................................................ 4-5
Tarea: creacin de una clase con variables............................ 4-5
Ejercicio 2: uso de operadores y conversin de tipos ................... 4-7
Preparacin................................................................................ 4-7
Tarea 1: clculo de la edad utilizando operadores............... 4-7
Tarea 2: uso de la conversin de tipos para evitar la
prdida de datos..................................................................... 4-8
Tarea 3: creacin de un programa de conversin de
temperaturas........................................................................... 4-9
Resumen del ejercicio...................................................................... 4-11
Creacin y uso de objetos .............................................................. 5-1
Objetivos............................................................................................. 5-1
Contenido de la prctica ................................................................... 5-2
Preguntas de repaso .......................................................................... 5-3
Ejercicio 1: creacin y manipulacin de objetos en Java .............. 5-4
Preparacin................................................................................ 5-4
Tarea 1: inicializacin de instancias de los objetos .............. 5-4
Tarea 2: manipulacin de referencias a objetos .................... 5-5
Ejercicio 2: uso de la clase String................................................... 5-6
Preparacin................................................................................ 5-6
Tarea: creacin y uso de objetos String............................... 5-6
Ejercicio 3: uso de la especificacin del API de Java SE........... 5-7
Tarea: estudio de la especificacin del API de Java SE ....... 5-7
Resumen del ejercicio........................................................................ 5-8
Uso de operadores y construcciones de toma de decisiones .... 6-1
Objetivos............................................................................................. 6-1
Contenido de la prctica ................................................................... 6-2
Preguntas de repaso .......................................................................... 6-3
Ejercicio 1: uso de construcciones if e if/else........................... 6-5
Preparacin................................................................................ 6-5
Tarea 1: escritura de una clase que utilice sentencias
if/else................................................................................... 6-5
Tarea 2: escritura de otra clase que utilice sentencias
if/else................................................................................... 6-6
Ejercicio 2: uso de la sentencia Switch........................................... 6-7
Preparacin................................................................................ 6-7
Tarea: escritura de una clase que utilice la sentencia
switch..................................................................................... 6-7
Resumen del ejercicio........................................................................ 6-8
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
vii
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Uso de construcciones en bucle ....................................................7-1
Objetivos............................................................................................. 7-1
Contenido de la prctica ................................................................... 7-2
Preguntas de repaso .......................................................................... 7-3
Ejercicio 1: uso del bucle while....................................................... 7-4
Preparacin................................................................................ 7-4
Tarea 1: escritura de una clase que utilice un bucle while..... 7-4
Tarea 2: escritura de otra clase que utilice un bucle while..... 7-5
Ejercicio 2: uso del bucle for............................................................ 7-7
Preparacin................................................................................ 7-7
Tarea 1: escritura de una clase que utilice el bucle for....... 7-7
Tarea 2: cambio de un bucle while por un bucle for......... 7-8
Ejercicio 3: uso del bucle do/while................................................. 7-9
Preparacin................................................................................ 7-9
Tarea: escritura de una clase que utilice el bucle do
/while..................................................................................... 7-9
Resumen del ejercicio...................................................................... 7-10
Desarrollo y uso de mtodos ..........................................................8-1
Objetivos............................................................................................. 8-1
Contenido de la prctica ................................................................... 8-2
Preguntas de repaso .......................................................................... 8-3
Ejercicio 1: uso de argumentos y valores de retorno .................... 8-4
Preparacin................................................................................ 8-4
Tarea: escritura de un mtodo que utiliza argumentos
y valores de retorno............................................................... 8-4
Ejercicio 2: uso de mtodos sobrecargados .................................... 8-6
Preparacin................................................................................ 8-6
Tarea: desarrollo de una clase con un mtodo
sobrecargado........................................................................... 8-6
Resumen del ejercicio........................................................................ 8-8
Implementacin de la encapsulacin y los constructores...........9-1
Objetivos............................................................................................. 9-1
Contenido de la prctica ................................................................... 9-2
Preguntas de repaso .......................................................................... 9-3
Ejercicio 1: escritura de clases encapsuladas.................................. 9-4
Preparacin................................................................................ 9-4
Tarea 1: implementacin de la encapsulacin en una clase......9-4
Tarea 2: acceso a los atributos encapsulados de una clase....... 9-5
Ejercicio 2: uso de constructores ...................................................... 9-8
Preparacin................................................................................ 9-8
Tarea 1: creacin y uso de constructores ............................... 9-8
Tarea 2: creacin de constructores para inicializar
objetos ...................................................................................... 9-9
Resumen del ejercicio...................................................................... 9-11
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
viii Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Creacin y uso de matrices (arrays) ............................................ 10-1
Objetivos........................................................................................... 10-1
Contenido de la prctica ................................................................. 10-2
Preguntas de repaso ........................................................................ 10-3
Ejercicio 1: creacin y uso de arrays unidimensionales ............. 10-4
Preparacin.............................................................................. 10-4
Tarea 1: creacin de una clase con un array
unidimensional de tipos primitivos .................................. 10-4
Tarea 2: creacin de una clase con un array
unidimensional de objetos.................................................. 10-5
Ejercicio 2: uso de bucles y arrays ................................................. 10-7
Preparacin.............................................................................. 10-7
Tarea: uso de un bucle para inicializar un array................ 10-7
Ejercicio 3: anlisis del array args[]............................................ 10-8
Tarea: creacin de un juego utilizando el array args [ ]......10-8
Ejercicio 4: creacin y uso de arrays bidimensionales................ 10-9
Preparacin.............................................................................. 10-9
Tarea 1: creacin de una clase con un array
bidimensional ..................................................................... 10-10
Tarea 2: uso de un array bidimensional ............................ 10-10
Tarea 3: comprobacin de una clase que contiene
un array bidimensional ..................................................... 10-12
Resumen del ejercicio.................................................................... 10-13
Implementacin de la herencia..................................................... 11-1
Objetivos........................................................................................... 11-1
Contenido de la prctica ................................................................. 11-2
Preguntas de repaso ........................................................................ 11-3
Ejercicio 1: diseo de superclases y subclases ............................. 11-4
Tarea 1: identificacin de superclases y subclases ............. 11-4
Ejercicio 2: creacin y uso de superclases y subclases................ 11-6
Preparacin.............................................................................. 11-6
Tarea: creacin de clases ........................................................ 11-6
Resumen del ejercicio...................................................................... 11-7
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
1-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 1
Descripcin de la tecnologa Java
Objetivos
La realizacin de esta prctica le permitir responder a las preguntas de
repaso.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

1-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
Esta prctica no contiene ningn ejercicio. Slo tiene que responder a las
preguntas de repaso del mdulo.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Descripcin de la tecnologa Java 1-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
En esta seccin, responder a algunas preguntas relativas a los temas
tratados en el Mdulo 1 del Manual del alumno.
Responda a las preguntas siguientes:
1. El lenguaje Java se considera un lenguaje de programacin
independiente de la plataforma porque:
a. Puede compilarse en diferentes plataformas sin necesidad de
sufrir modificaciones.
b. No permite utilizar punteros para administrar la memoria.
c. Permite a los desarrolladores escribir las aplicaciones una vez y
ejecutarlas en varias plataformas.
d. Es multihilo.
2. Indique si la afirmacin siguiente es verdadera o falsa:
Una aplicacin se ejecuta dentro de un sistema operativo.
3. Cul de los siguientes lenguajes guarda ms similitudes con el
lenguaje Java:
a. C++
b. C
c. El lenguaje mquina
d. Fortran
4. El grupo de productos de la tecnologa Java destinado al desarrollo
de aplicaciones para dispositivos de consumo es el _______. Elija una
de las respuestas siguientes para rellenar el espacio en blanco:
a. SDK de Java SE
b. SDK de Java ES
c. SDK de Java EE
d. SDK de Java ME
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

1-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
5. Cul de los siguientes componentes forma parte del SDK de Java SE:
a. El entorno de ejecucin de Java (JRE)
b. La especificacin de la mquina virtual de Java
c. Un compilador de C++
d. Un enlazador
6. En qu fase del ciclo de vida de los productos crean los
desarrolladores las actualizaciones para sus productos?
a. Anlisis
b. Mantenimiento
c. Final del ciclo de vida
d. Diseo
7. La fase de implementacin del ciclo de vida de los productos suele
ser sinnimo de:
a. Vender el programa.
b. Ejecutar el programa.
c. Compilar el programa.
d. Realizar el mantenimiento del programa.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

Descripcin de la tecnologa Java 1-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
2-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 2
Anlisis de un problema y diseo de la
solucin
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Analizar problemas utilizando el anlisis orientado a objetos (OO).
Disear clases con las que crear objetos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

2-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
Los ejercicios consistirn en:
Enumerar los objetos, atributos y operaciones de un dominio en un
caso propuesto como ejemplo.
Modelar un objeto utilizando una notacin de tipo UML.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Anlisis de un problema y diseo de la solucin 2-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Cul de los trminos siguientes hace referencia al mbito de un
problema o un sistema:
a. El contexto del problema
b. El dominio del problema
c. El contexto del sistema
d. El rea del problema
2. Cul de los trminos siguientes representa dos caractersticas
diferentes de un objeto:
a. Mtodos y operaciones
b. El dominio del problema
c. Atributos y operaciones
d. Variables y datos
3. Cul de los elementos siguientes sirve de criterio para comprobar la
validez de un objeto con respecto al dominio de un problema:
a. Relevancia para el dominio del problema
b. Orden de las operaciones
c. Tipo de atributo
d. Si la clase tiene una superclase
4. Cules de las siguientes afirmaciones son ciertas:
a. Una clase es una instancia de un objeto.
b. Un objeto es un prototipo de una clase.
c. Un objeto y una clase son exactamente lo mismo.
d. Un objeto es una instancia de una clase.
e. Un atributo no puede actuar como referencia de otro objeto.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: anlisis del dominio de un problema

2-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: anlisis del dominio de un problema
Este ejercicio se basa en un pequeo caso de estudio. En l deber
identificar los objetos, sus atributos y las operaciones que intervienen en
el dominio del sistema.
Preparacin
Lea el caso siguiente y modele el sistema eligiendo los objetos, sus
atributos y las operaciones necesarias.
Caso de estudio
En una liga de ftbol intervienen muchos jugadores. Cada ao contiene
tres temporadas y es preciso formar equipos para cada temporada de la
liga. Cada equipo se compone de 15 jugadores. En cada temporada se
hace el seguimiento de los goles marcados por cada jugador. Tambin se
lleva un registro de los partidos disputados entre los diferentes equipos,
los resultados finales y la posicin de cada equipo en el ranking en
funcin de los partidos ganados y perdidos.
Tarea: anlisis
Deber realizar un anlisis orientado a objetos para el desarrollo de una
aplicacin Java que haga el seguimiento de los resultados de la liga de
ftbol. El programa deber llevar el registro de:
Las lista de jugadores en cada equipo.
El nmero de goles marcado por cada jugador.
Los partidos celebrados en cada temporada, incluidos los equipos
que han jugado entre s, y el marcador final.
La aplicacin debera ser capaz de generar estadsticas relativas a los
equipos, los jugadores y las temporadas.
Para finalizar el anlisis, lleve a cabo estos pasos:
1. Cree una lista de los objetos potenciales.
2. Aplique las reglas descritas en el mdulo para determinar si todos
esos objetos son vlidos.
3. Cree una lista de atributos y operaciones para cada uno de los
objetos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: anlisis del dominio de un problema

Anlisis de un problema y diseo de la solucin 2-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Notas
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: diseo de la solucin

2-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: diseo de la solucin
En este ejercicio, utilizar la notacin UML para representar las clases.
Tarea: diseo
Deber realizar el diseo de cada una de las clases creadas en el sistema
anterior para hacer el seguimiento de los resultados de la liga de ftbol.
No olvide:
Utilizar la escritura abreviada para asignar el nombre a las clases, las
variables de los atributos y los mtodos.
Identificar un rango vlido de valores para cada atributo (cuando
haya un rango).
Utilizar parntesis para identificar los mtodos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: diseo de la solucin

Anlisis de un problema y diseo de la solucin 2-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Notas
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

2-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
3-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 3
Desarrollo y comprobacin de un programa
Java
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Escribir, modificar, compilar y ejecutar clases de Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

3-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
En el primer ejercicio, compilar y ejecutar una clase de Java
existente.
En el segundo, escribir, compilar y ejecutar su primera clase en
Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Desarrollo y comprobacin de un programa Java 3-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Cul de las opciones siguientes forma parte de la sintaxis de
declaracin de clases:
a. Argumentos de la clase
b. Identificador del mtodo
c. Modificador
d. //
2. Indique cul de las siguientes afirmaciones describe mejor el mtodo
main:
a. El mtodo main es el punto de partida para todos los applets
Java.
b. El mtodo main normalmente tiene un tipo de retorno int.
c. El mtodo main es obligatorio en todas las clases de Java.
d. main es un mtodo especial que la mquina virtual de Java
reconoce como punto de partida para cualquier programa Java
que se ejecute desde un indicador o una lnea de comandos.
3. Indique si las afirmaciones siguientes son verdaderas o falsas:
a. El comando java ejecuta una clase o archivo de cdigo de byte.
b. Cada llave de apertura en un programa Java debe tener su
correspondiente llave de cierre.
c. */ es un delimitador vlido para iniciar un comentario.
d. El comando javac lee las definiciones de clase e interfaz
escritas en lenguaje Java y las compila para convertirlas en
archivos de clase formados por cdigo de byte.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: modificacin, compilacin y ejecucin de un programa Java

3-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: modificacin, compilacin y ejecucin de un
programa Java
Se ha creado un programa Java para el ejercicio. Deber abrirlo, examinar
las lneas de cdigo, modificarlo, compilarlo y ejecutarlo para comprobar
si es correcto.
Preparacin
Asegrese de que el directorio
SL110/exercises/03_getstarted/exercise1 contenga los archivos
QuotationTest.java y Quotation.java.
Tarea: compilacin y ejecucin de un programa Java
En esta tarea, deber modificar un programa Java, guardarlo, compilarlo y
verificarlo.
Lleve a cabo los pasos siguientes:
1. Abra un editor de texto.
2. Abra el archivo Quotation.java situado en el directorio
SL110/exercises/03_getstarted/exercise1.
3. Examine la clase Quotation e identifique su variable miembro.
4. En el mtodo display, escriba cdigo para mostrar en pantalla el
valor de esa variable.
5. Guarde y cierre el archivo Quotation.java.
6. Abra el archivo QuotationTest.java situado en el directorio
SL110/exercises/03_getstarted/exercise1 y examine su
mtodo main. El mtodo main crea una instancia de la clase Quotation
y ejecuta el mtodo display de Quotation. Cierre el archivo.
7. Abra la ventana de terminal y vaya al directorio
SL110/exercises/03_getstarted/exercise1.
8. Compile el archivo Quotation.java utilizando el comando javac.
Por ejemplo:
javac Quotation.java
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: modificacin, compilacin y ejecucin de un programa Java

Desarrollo y comprobacin de un programa Java 3-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
9. Si es necesario, modifique el archivo Quotation.java para corregir
cualquier error de compilacin generado en el paso anterior.
Guarde el archivo y vuelva a compilarlo.
10. Compile el archivo QuotationTest.java con el comando javac.
Por ejemplo: javac QuotationTest.java
11. Examine el directorio
SL110/exercises/03_getstarted/exercise1 para verificar si las
operaciones de compilacin han creado los siguientes archivos
de clase:
Quotation.class
QuotationTest.class.
12. Ejecute el archivo QuotationTest.class utilizando el comando
java y verifique la salida. Por ejemplo: java QuotationTest
13. Abra el archivo Quotation.java, cambie el valor predeterminado
de la variable miembro del archivo Quotation.java por un valor
de su eleccin y guarde el archivo.
14. Compile el archivo Quotation.java.
15. Ejecute el archivo QuotationTest.class y compruebe si ha
cambiado la salida.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: creacin, compilacin y ejecucin de una clase de Java

3-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: creacin, compilacin y ejecucin de una clase
de Java
En este ejercicio, crear una clase de Java y la compilar. Luego crear otra
clase para comprobar la clase anterior.
Tarea: creacin y comprobacin de una clase de Java
En esta tarea, crear dos clases y las compilar. Tambin ejecutar el
archivo de una clase.
Lleve a cabo los pasos siguientes:
1. Vaya al directorio SL110/exercises/03_getstarted/exercise2.
2. Abra un editor e introduzca la sintaxis Java de la clase Shirt que
aparece en el Cdigo 3-1 de la pgina 3-8 en el Manual del alumno.
3. Guarde y cierre el archivo.
4. Abra un editor e introduzca la clase ShirtTest que aparece en el
Cdigo 3-2 de la pgina 3-14 en el Manual del alumno.
5. Guarde y cierre el archivo.
6. Abra una ventana de terminal y sitese en el directorio de este
mdulo.
7. Escriba el comando necesario para compilar la clase Shirt y
convertirla en un archivo de cdigo de byte ejecutable. Por ejemplo:
javac Shirt.java
8. Compruebe si se ha creado el archivo Shirt.class en el directorio
SL110/exercises/03_getstarted/exercise2.
9. Escriba el comando necesario para compilar la clase ShirtTest y
convertirla en un archivo de cdigo de byte ejecutable.
javac ShirtTest.java
10. Compruebe si se ha creado el archivo ShirtTest.class en el
directorio SL110/exercises/03_getstarted/exercise2.
11. Escriba el comando necesario para ejecutar el archivo
ShirtTest.class y examine la salida del programa.
java ShirtTest
12. Vuelva a abrir el archivo Shirt.java en el editor.
13. Modifique los valores de las variables miembro ShirtID y price.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: creacin, compilacin y ejecucin de una clase de Java

Desarrollo y comprobacin de un programa Java 3-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
14. Guarde y cierre el archivo Shirt.java.
15. Recompile el archivo Shirt.java en la ventana de terminal.
javac Shirt.java
16. Ejecute el archivo ShirtTest.class en la ventana de terminal.
java Shirt
17. Examine la salida del programa y verifique si difiere de la salida
obtenida en el paso 9.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

3-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
4-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 4
Declaracin, inicializacin y uso de variables
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Realizar la declaracin de variables en una clase.
Efectuar conversiones de tipos y utilizar operadores en un programa
Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

4-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
En el primer ejercicio, crear una clase de Java que contiene
declaraciones de variables.
En el segundo ejercicio, escribir un programa Java en el que
utilizar operadores y realizar conversin de tipos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Declaracin, inicializacin y uso de variables 4-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Indique si las afirmaciones siguientes son verdaderas o falsas:
a. El lenguaje Java contiene ocho tipos primitivos.
b. En programacin Java, las variables intgrade e intGrade son
iguales.
c. byte, short, int y long son cuatro tipos primitivos enteros del
lenguaje Java.
d. Las variables de tipos booleanos pueden contener los valores
true, false y nil.
2. Qu respuesta describe mejor la siguiente declaracin de variable:
final double PI = 3.14159;
a. Es la asignacin de valor para un tipo primitivo entero.
b. El nombre de la variable es una palabra clave reservada del
lenguaje Java.
c. La variable es una constante.
d. El nombre de la variable no es correcto, no sigue las reglas de la
nomenclatura en Java.
3. Cules de las operaciones siguientes ilustran correctamente la
precedencia de operadores en el clculo siguiente:
X = 1 + 2 * 5 -8 +6 / 7 * 4;
a. (1 + 2) * (5 - 8) + (6 / (7 * 4))
b. 1 + (2 * 5) - 8 + ((6 / 7) * 4)
c. (1 + 2) * (5 - ((8 + 6) / (7 * 4)))
d. 1 + (2 * (5 - 8)) + ((6 / 7) * 4)
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

4-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
4. Examine el cdigo siguiente y seleccione la salida correcta despus
de la ejecucin:
int a = 5;
int b = ++a;
System.out.println("a = "+ a + "y b = "+ b);
a. a = 5 y b = 5
b. a = 5 y b = 6
c. a = 6 y b = 6
d. a = 6 y b = 5
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de variables de tipos primitivos en un programa

Declaracin, inicializacin y uso de variables 4-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: uso de variables de tipos primitivos en un
programa
En este ejercicio, crear una clase que contiene declaraciones de variables.
Preparacin
Asegrese de que el directorio
SL110/exercises/04_variables/exercise1 contenga el archivo
CustomerTest.java.
Tarea: creacin de una clase con variables
En esta tarea, compilar y ejecutar una clase Customer con varias
variables.
Lleve a cabo los pasos siguientes para crear la clase Customer:
1. Vaya al directorio SL110/exercises/04_variables/exercise1.
2. Abra un editor de texto y cree un archivo llamado Customer.java
en este directorio.
3. En el archivo Customer.java, escriba una clase llamada Customer
(cliente) que cree y asigne a las variables valores predeterminados
para suministrar la informacin siguiente (utilice constantes
cuando sea apropiado):
El ID de un cliente
El estado del cliente: N para nuevo y O para antiguo (old)
El total de compras del ao
4. Cree un mtodo en la clase denominada displayCustomerInfo que
utilice el mtodo System.out.println para imprimir cada valor
en la pantalla con su correspondiente etiqueta (por ejemplo,
"Total de compras:").
5. Compile y ejecute el programa utilizando el archivo de clase
CustomerTest suministrado.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de variables de tipos primitivos en un programa

4-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Nota: Todos los ejemplos y ejercicios de este curso necesitan una clase
test. En la mayora de los casos, esta clase ya viene dada. En algunas
situaciones, ser usted quien la cree.
6. Compruebe la salida del programa para asegurarse de que contenga
los valores que ha asignado.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de operadores y conversin de tipos

Declaracin, inicializacin y uso de variables 4-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de operadores y conversin de tipos
El objetivo de este ejercicio es ayudarle a practicar el uso de los
operadores y la conversin de tipos.
Incluye tres tareas. En cada una de ellas deber crear un programa Java,
compilarlo y probarlo.
Este ejercicio consta de las siguientes tareas:
Tarea 1: clculo de la edad utilizando operadores
Tarea 2: uso de la conversin de tipos para evitar la prdida de
datos
Tarea 3: creacin de un programa de conversin de temperaturas
Preparacin
Asegrese de que el directorio
SL110/exercises/04_variables/exercise2 contenga los archivos
PersonTest.java, OrderTest.java y TemperatureTest.java.
Tarea 1: clculo de la edad utilizando operadores
En esta tarea, utilizar los operadores para calcular edades expresadas en
minutos y milisegundos.
Siga estos pasos para crear una clase Person que calcule varias edades:
1. Abra una ventana de terminal y vaya al directorio
SL110/exercises/04_variables/exercise.
2. Abra un editor de texto y cree una clase Person en un archivo.
3. Agregue el cdigo siguiente a la clase Person:
a. Cree variables miembro para almacenar la edad en aos, das,
minutos, segundos y milisegundos.
b. Defina un valor inicial de 1 para la variable que almacena la
edad en aos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de operadores y conversin de tipos

4-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Nota: Asegrese de asignar los tipos de datos correctos para cada variable
y utilice nombres que resulten significativos para todas las variables.
c. Cree un mtodo calculateAge en la clase Person.
d. En el mtodo, calcule la edad en das, minutos, segundos y
milisegundos, y asigne los nuevos valores a las
correspondientes variables miembro.
e. Haga que el mtodo muestre en pantalla todas las edades
expresadas en diferentes unidades, cada una en una lnea
distinta y con el mensaje adecuado. Por ejemplo: Tienes
31536000 segundos de edad.
f. Guarde y cierre el archivo Person.java.
g. Compile los archivos Person.java y PersonTest.java.
Resuelva cualquier error de compilacin que se haya producido
y recompile.
h. Verifique el programa utilizando la clase PersonTest.
i. Lleve a cabo algunas pruebas definiendo age con los valores 1,
24 y 80 en la clase Person.
Nota: Para un ao, el resultado debera ser: Tienes 365 das de edad. Tienes
31536000 segundos de edad. Tienes 525600 minutos de edad. Tienes
31536000000 milisegundos de edad. Para 24 aos, el resultado debera ser:
Tienes 8760 das de edad. Tienes 756864000 segundos de edad. Tienes
12614400 minutos de edad. Tienes 756864000000 milisegundos de edad.
Tarea 2: uso de la conversin de tipos para evitar la
prdida de datos
En esta tarea, utilizar la conversin de tipos para impedir que se
produzcan prdidas de datos en sus programas.
Lleve a cabo los pasos siguientes:
1. Cree una clase llamada Order que contenga tres variables miembro
como las siguientes:
a. long orderValue=0
b. int itemQuantity=10000000
c. int itemPrice=555500
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de operadores y conversin de tipos

Declaracin, inicializacin y uso de variables 4-9
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
2. Cree un mtodo calculateTotal que calcule el valor total de los
pedidos y lo muestre en la pantalla. Asegrese de aplicar la
conversin de tipos al resultado de la multiplicacin antes de
almacenarlo en orderValue.
3. Guarde y cierre el archivo Order.java.
4. Compile los archivos Order.java y OrderTest.java.
5. Pruebe el programa ejecutando el archivo OrderTest.class.
Compruebe el resultado de orderValue haciendo la operacin con
una calculadora.
6. Abra Order.java y suprima la conversin de tipos realizada en el
mtodo calculateTotal. Guarde y cierre el archivo.
7. Recompile el archivo Order.java y vuelva a ejecutar la clase
OrderTest.
8. Compare el resultado actual de orderValue con el obtenido en el
paso 5.
9. Pruebe el programa sustituyendo el valor de las variables de tipo
entero definidas en la clase Order por:
a. Tipos int de un dgito
b. Tipos int de cinco dgitos
c. Tipos int de nueve dgitos
Compruebe si obtiene con el programa el mismo resultado que
obtiene al realizar cada operacin con la calculadora.
Tarea 3: creacin de un programa de conversin de
temperaturas
En esta tarea, deber escribir un programa para convertir grados
Fahrenheit en grados Celsius.
Escriba cdigo para llevar a cabo estos pasos:
1. Cree una clase Temperature con una variable miembro que
almacene la temperatura en valores Fahrenheit. Declare la variable con
un tipo de datos apropiado como, por ejemplo, int, float o double.
2. Cree un mtodo llamado calculateCelsius.
3. En el mtodo calculateCelsius, utilice la informacin siguiente
para convertir los valores de temperatura Fahrenheit en Celsius.
Para realizar la conversin de Fahrenheit en Celsius, reste 32,
multiplique por 5 y divida entre 9.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
4. Pruebe el programa utilizando la clase TemperatureTest.
5. Compruebe si obtiene con el programa el mismo resultado que
obtiene al realizar la operacin con la calculadora.
6. Verifique el programa utilizando diferentes valores de temperatura.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

Declaracin, inicializacin y uso de variables 4-11
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

4-12 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
5-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 5
Creacin y uso de objetos
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Crear y manejar objetos.
Usar la clase String.
Usar el API de Java SE.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

5-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar tres
ejercicios.
En el primer ejercicio, crear y manejar objetos de Java.
En el segundo, crear y utilizar objetos String.
En el tercero, se familiarizar con la especificacin del API de Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Creacin y uso de objetos 5-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Cul de las siguientes lneas de cdigo instancia un objeto Boat y lo
asigna a una referencia de objeto sailBoat?
a. Boat sailBoat = new Boat();
b. Boat sailBoat;
c. Boat = new Boat()
d. Boat sailBoat = Boat();
2. Lea el cdigo siguiente e identifique el resultado correcto entre las
opciones dadas a continuacin:
Clothing myHat = new Hat();
Clothing mySock = new Sock();
myHat = mySock;
a. La variable myHat ahora contiene un objeto Sock.
b. La variable myHat contiene la misma direccin que la variable
mySock.
c. Las variables Sock y Hat son las mismas.
d. La variable myHat se mantiene sin cambios.
3. Cules de las siguientes afirmaciones son ciertas?
a. El operador punto (.) crea una nueva instancia de un objeto.
b. La clase String permite guardar una secuencia de caracteres.
c. La especificacin del API de Java contiene documentacin para
todas las clases contenidas en los productos Java.
d. Los tipos String constituyen una excepcin porque son la
nica clase que permite crear objetos sin usar la palabra clave
new.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: creacin y manipulacin de objetos en Java

5-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: creacin y manipulacin de objetos en Java
En este ejercicio, deber crear instancias de una clase y operar con ellas de
diferentes maneras.
El ejercicio consta de las siguientes tareas:
Tarea 1: inicializacin de instancias de los objetos
Tarea 2: manipulacin de referencias a objetos
Preparacin
Asegrese de que el directorio
SL110/exercises/05_objects/exercise1 contenga el archivo
Customer.java.
Tarea 1: inicializacin de instancias de los objetos
Se le ha suministrado la clase Customer. En esta tarea, deber crear,
compilar y ejecutar una clase CustomerTest. En la clase CustomerTest,
crear objetos de la clase Customer y definir los valores de sus
variables miembro.
Lleve a cabo los pasos siguientes:
1. Vaya al directorio SL110/exercises/05_objects/exercise1 y
abra el archivo Customer.java.
2. Examine la clase Customer, sus variables miembro y su mtodo.
3. Cree la nueva clase CustomerTest y gurdela como
CustomerTest.java.
4. Cree el mtodo main en la clase CustomerTest.
5. En el mtodo main, haga lo siguiente:
a. Declare dos instancias de la clase Customer.
b. Inicialice las dos instancias de la clase Customer utilizando el
operador new.
c. Asigne valores a las variables miembro de la instancia de
Customer. Vuelva a hacer lo mismo con el segundo objeto de
Customer pero utilizando otros valores. Por ejemplo:
cObject1.customerID=1;
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: creacin y manipulacin de objetos en Java

Creacin y uso de objetos 5-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
d. Llame al mtodo displayCustomerInfo por cada uno de los
objetos de Customer.
6. Guarde, compile y ejecute el programa.
7. Compruebe la salida para asegurarse de que cada objeto de
Customer muestre los diferentes valores asignados.
Tarea 2: manipulacin de referencias a objetos
En esta tarea, asignar el valor de una referencia de objeto a otra
referencia de objeto. Lleve a cabo los pasos siguientes:
1. Abra el archivo CustomerTest.java creado y ejecutado en la tarea
anterior.
2. En el mtodo main, vaya a la lnea donde se efecta la llamada al
mtodo displayCustomerInfo para ambas instancias de Customer.
3. Asigne una referencia de objeto a otra referencia de objeto antes
de llamar al mtodo displayCustomerInfo para ambas instancias.
Por ejemplo: cObject2=cObject1 (suponiendo que cObject1 y
cObject2 sean las dos instancias de la clase Customer).
4. Guarde, compile y ejecute el programa.
5. Compruebe la salida de los mtodos displayCustomerInfo de
ambos objetos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de la clase String

5-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de la clase String
El objetivo de este ejercicio es crear e inicializar objetos String e imprimir
su contenido.
Preparacin
Asegrese de que el directorio
SL110/exercises/05_objects/exercise2 contenga el archivo
PersonTwoTest.java. ste ser su directorio de trabajo.
Tarea: creacin y uso de objetos String
En esta tarea, deber escribir una clase llamada PersonTwo que cree e
inicialice dos variables de tipo String y muestre sus valores en la
pantalla. Siga estos pasos para crear la clase:
1. Sitese en el directorio de trabajo.
2. Declare una clase llamada PersonTwo que cree e inicialice dos
variables:
La primera variable almacena una cita pronunciada por
alguien.
La segunda variable almacena el nombre de la persona que dijo
la cita.
3. Utilice un mtodo llamado displayQuote para mostrar en pantalla
la cita y el nombre de la persona que la pronunci.
4. Compile su clase.
5. Ejecute su clase utilizando la clase PersonTwoTest suministrada.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 3: uso de la especificacin del API de Java SE

Creacin y uso de objetos 5-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 3: uso de la especificacin del API de Java SE
El objetivo de este ejercicio es familiarizarle con la especificacin del API
de Java SE.
Tarea: estudio de la especificacin del API de Java SE
Nota: El propsito de este ejercicio es ayudarle a familiarizarse con la
documentacin y la forma de buscar clases y mtodos. No se espera
que comprenda toda la informacin que va a examinar. A medida que
vaya avanzando en el curso, la documentacin del API ir cobrando
ms sentido para usted.
Para ver la especificacin del API de Java 6.0:
1. Vaya a la direccin siguiente:
http://java.sun.com/javase/6/docs/
2. Desde el sitio indicado, busque la especificacin del API.
3. Utilizando la especificacin del API como referencia, haga lo
siguiente:
a. Localice la clase Math del paquete java.lang.
Cuntos mtodos contiene esta clase?
b. A qu clase hacen referencia todas las clases que hay al inicio
de la pgina?
Pista: qu clase es la superclase de todas las clases?
4. Busque la clase String. Identifique los mtodos de la clase String
que permiten comparar dos cadenas de caracteres.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

5-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
6-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 6
Uso de operadores y construcciones de
toma de decisiones
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Utilizar las sentencias if e if/else en un programa Java.
Usar la sentencia switch en un programa Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

6-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
En el primer ejercicio, crear construcciones if e if/else.
En el segundo ejercicio, crear construcciones switch.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Uso de operadores y construcciones de toma de decisiones 6-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Qu finalidad tiene el bloque else en una sentencia if-else?
a. Contener el resto del cdigo de un mtodo.
b. Contener el cdigo que se ejecuta cuando la expresin de una
sentencia if es false.
c. Comprobar si una expresin es falsa (false).
2. Cul de las sentencias siguientes es adecuada para comprobar un
valor en una construccin switch?
a. La sentencia switch comprueba si los valores son mayores o
menores que un nico valor.
b. La sentencia switch verifica una sola variable.
c. La sentencia switch comprueba el valor de un tipo de datos
float, double o boolean.
3. Qu operadores relacionales y condicionales se mencionan en el
prrafo siguiente?
Si son las 8:00 de la maana, es hora de ir a trabajar y tomar un caf.
Si han pasado ya las 12 del medioda, es el momento de almorzar o
tomarse un t. Si son las 5:00 de la tarde o pasada esa hora, es el
momento de volver a casa.
a. ==, >, =>
b. ==, &&, <
c. ==, &&, >
d. ==, ||, >
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

6-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
4. Lea el fragmento de cdigo siguiente e identifique las opciones
correctas:
1 String clothing1;
2 String clothing2;
3 clothing1 = "socks";
4 clothing2 = "pants";
5 if (clothing1 == clothing2)
a. La lnea 5 comprueba si las cadenas String indicadas por las
referencias clothing1 y clothing2 son iguales.
b. La lnea 5 comprueba las referencias de los objetos String en la
memoria, no su contenido.
c. Al sustituir la lnea 5 por la sentencia
if (clothing1.equals(clothing2)), las secuencias de
caracteres a las que hacen referencia clothing1 y clothing2
son iguales.
d. La lnea 5 siempre devuelve true.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de construcciones if e if/else

Uso de operadores y construcciones de toma de decisiones 6-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: uso de construcciones if e if/else
El objetivo de este ejercicio es crear clases que utilicen las construcciones
if e if/else.
Preparacin
Asegrese de que el directorio
SL110/exercises/06_decision/exercise1 contenga los archivos
DateTwoTest.java y ClockTest.java. ste ser su directorio de trabajo.
Este ejercicio incluye dos tareas. En cada una de ellas deber crear
una clase y utilizar las sentencias if/else cuando sean aplicables.
Las tareas son:
Tarea 1: escritura de una clase que utilice sentencias if/else
Tarea 2: escritura de otra clase que utilice sentencias if/else
Tarea 1: escritura de una clase que utilice sentencias
if/else
En esta tarea deber escribir una clase llamada DateTwo que utilice
las sentencias if/else para mostrar el da de la semana en funcin del
valor de una variable. Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo. Cree una clase llamada DateTwo
con una variable miembro denominada dayNumber. Asigne a
dayNumber un valor situado entre 1 y 7, donde:
El nmero 1 representa el lunes (primer da de la semana).
El nmero 7 representa el domingo (ltimo da de la semana).
2. En la clase DateTwo, cree un mtodo denominado displayDay que
utilice construcciones if/else para comprobar el valor de
dayNumber y muestre en la pantalla el correspondiente da de la
semana. El mtodo displayDay tambin debera presentar un
mensaje de error si se encuentra un nmero no admitido.
3. Guarde, compile y ejecute su clase utilizando el archivo de clase
DateTwoTest suministrado.
4. Repita el paso 3 varias veces asignando diferentes valores a la
variable dayNumber de DateTwo en el archivo DateTwoTest.java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de construcciones if e if/else

6-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Tarea 2: escritura de otra clase que utilice sentencias
if/else
En esta tarea deber escribir una clase llamada Clock que utilice las
sentencias if/else para mostrar en qu parte del da nos encontramos
en funcin de la hora que marque el reloj. Utilice la tabla siguiente
como referencia.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo.
2. Cree una clase llamada Clock (reloj) con una variable denominada
currentTime que contenga la hora del da.
3. En la clase Clock, cree un mtodo displayPartOfDay que utilice
las construcciones if/else para mostrar la parte del da asociada
al valor de la variable currentTime. Por ejemplo, si el valor de
la variable currentTime es igual a 1504, el programa debera
presentar la palabra Tarde.
4. Compile y ejecute el programa utilizando el archivo de clase
ClockTest.
5. Repita el paso 4 varias veces asignando diferentes valores a la
variable currentTime de Clock en el archivo ClockTest.java.
Nota: Si se antepone un cero al valor de la variable, quiere decir que es un
valor octal. Por tanto, el programa no se compilar si se define
currentTime con la cifra 0800. Es preciso especificar currentTime como
800 para la hora 8:00 AM a fin de que el programa se compile
adecuadamente. No se han realizado pruebas con valores que queden
fuera del intervalo situado entre 100 y 2400.
Hora del da Parte del da
De 8:01 a 12:00 Maana
De 12:01:00 a 17:00:00 Tarde
De 17:01 a 24:00 Tarde-noche
De 00:01:00 a 08:00:00 Madrugada
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de la sentencia Switch

Uso de operadores y construcciones de toma de decisiones 6-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de la sentencia Switch
El objetivo de este ejercicio es practicar el uso de la construccin switch
en programas de toma de decisiones. En este ejercicio, deber crear un
programa que presente el nombre del mes en funcin del nmero de
mes indicado.
Preparacin
Asegrese de que el directorio
SL110/exercises/06_decision/exercise2 contenga el archivo
MonthTest.java. ste ser su directorio de trabajo.
Tarea: escritura de una clase que utilice la sentencia
switch
En esta tarea crear una clase llamada Month que utilice sentencias switch
para indicar el nombre del mes en funcin del valor numrico de una
variable.
Lleve a cabo los pasos siguientes:
1. En el directorio de trabajo, cree una clase llamada Month (mes) y
guarde el archivo con el nombre Month.java.
2. En la clase Month, cree una variable llamada monthNumber. Asigne a
la variable un valor situado entre 1 y 12, donde el nmero 1
representa el mes de enero y el 12 el mes de diciembre.
3. En la clase Month, cree un mtodo llamado displayMonth que utilice
una construccin switch para evaluar el valor de la variable
monthNumber y presentar en la pantalla el nombre del mes
correspondiente. El mtodo displayMonth tambin debera
presentar un mensaje de error si se utiliza un nmero no vlido.
4. Guarde y compile el archivo.
5. Ejecute el programa utilizando el archivo de clase MonthTest.
6. Repita el paso 5 varias veces asignando diferentes valores a la
variable monthNumber de Month en el archivo MonthTest.java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

6-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
7-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 7
Uso de construcciones en bucle
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Utilizar los bucles while y do/while en un programa Java.
Usar bucles for en un programa Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

7-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar tres
ejercicios.
En el primero de ellos, crear construcciones de bucle while.
En el segundo, crear construcciones de bucle for.
En el tercero, crear construcciones de bucle do/while.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Uso de construcciones en bucle 7-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Rellene el espacio en blanco de la frase siguiente con una de
las opciones dadas a continuacin. Las/los ________________
permiten evaluar y volver a evaluar una decisin para ejecutar
una o varias veces un bloque de cdigo.
a. clases
b. objetos
c. bucles
d. mtodos
2. Qu tipo de bucle permite declarar una variable como parte de su
construccin:
a. El bucle do/while
b. El bucle while
c. El bucle while anidado
d. El bucle for
3. Cul de los siguientes tipos de bucles es un bucle iterativo que se
procesa de una a muchas veces:
a. El bucle while
b. El bucle while anidado
c. El bucle do/while
d. El bucle for
4. Indique si la afirmacin siguiente es verdadera o falsa:
Para evaluar una secuencia de sentencias un nmero predefinido
de veces conviene usar el bucle for.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso del bucle while

7-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: uso del bucle while
El objetivo de este ejercicio es crear clases que utilicen construcciones en
bucle con while.
Preparacin
Asegrese de que el directorio SL110/exercises/07_loops/exercise1
contenga los archivos CounterTest.java y SequenceTest.java. ste
ser su directorio de trabajo.
Este ejercicio incluye dos tareas. En cada una de ellas deber crear una
clase y utilizar los bucles while cuando proceda. Las tareas son:
Tarea 1: escritura de una clase que utilice un bucle while
Tarea 2: escritura de otra clase que utilice un bucle while
Tarea 1: escritura de una clase que utilice un bucle while
En esta tarea, deber escribir una clase llamada Counter (contador) y
utilizar un bucle while para presentar en pantalla el valor de una variable
(count) que va adoptando valores en incrementos de uno. Siga estos
pasos para crear la clase:
1. Abra la ventana de terminal y sitese en el directorio de trabajo.
Utilice un editor para crear una clase llamada Counter que contenga
tres variables miembro denominadas MAX_COUNT, step y count.
Asigne el valor 50 a MAX_COUNT, y el valor 1 a count y step.
Asegrese de declarar MAX_COUNT como variable final.
2. Cree un mtodo public displayCount en la clase que no acepte
ningn argumento y devuelva void. Por ejemplo:
public void displayCount(){
3. En este mtodo, cree un bucle while con las siguientes
caractersticas:
a. Expresin booleana: repetir si el valor de count es menor o igual
que el valor de MAX_COUNT.
b. Bloque de cdigo:
Imprimir en la pantalla el valor de la variable count.
Incrementar el valor de count con el valor indicado en step.
Por ejemplo: count=count + step;
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso del bucle while

Uso de construcciones en bucle 7-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
4. Guarde y compile el archivo Counter.java.
5. Compile el archivo CounterTest.java suministrado en el directorio
de trabajo. Ejecute el archivo de clase CounterTest.
6. Compruebe si la clase creada presenta en la pantalla todos los
nmeros del 1 al 50.
7. Puede modificar el valor de la variable step para cambiar el
resultado de la clase Counter. Lleve a cabo los pasos siguientes:
a. Abra el archivo CounterTest.java para modificarlo.
b. Antes de la llamada al mtodo displayCount, asigne el valor 2
a la variable step de la clase Counter. Utilice el objeto de la
clase Counter para acceder a la variable step.
c. Lleve a cabo los pasos 3 - 4 y verifique la salida. El resultado
debera ser: 1 3 5 7.............49
8. Repita el paso 6 asignando el valor 3 a la variable step. sta es la
variable miembro de la clase Counter.
Tarea 2: escritura de otra clase que utilice un bucle
while
En esta tarea escribir una clase llamada Sequence1 que presente
una secuencia de dgitos iniciada por los nmero 0 y 1. Los sucesivos
nmeros de la secuencia sern la suma de los dos nmeros anteriores.
Por ejemplo: 0 1 1 2 3 5 8 13 21...... Este tipo de secuencia se denomina
tambin serie Fibonacci.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Cree una clase llamada Sequence1 con tres variables denominadas
firstNumber, secondNumber y nextNumber. Asigne los valores 0 y 1
a las variables firstNumber y secondNumber respectivamente.
3. Cree un mtodo public denominado displaySequence con ningn
tipo de retorno y sin argumentos. El mtodo debe realizar las
siguientes acciones:
a. Imprimir en la pantalla el valor de firstNumber y
secondNumber para iniciar la secuencia.
b. Calcular la suma de firstNumber y secondNumber, y asignar el
resultado a la variable nextNumber.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso del bucle while

7-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
4. Cree un bucle while en el mtodo con las siguientes caractersticas:
Expresin booleana: repetir el valor de nextNumber si es menor o
igual que 100.
Bloque de cdigo:
Mostrar en la pantalla el valor de la variable nextNumber.
Asignar el valor de secondNumber a firstNumber y el
valor de nextNumber a la variable secondNumber.
Recalcular el valor de nextNumber de forma que sea la
suma de los valores de firstNumber y secondNumber.
5. Guarde y compile el archivo Sequence1.java.
6. Compile el archivo SequenceTest.java suministrado en el directorio
de trabajo y ejecute el archivo de clase SequenceTest.
7. Verifique la salida. El resultado debera ser: 0 1 1 2 3 5 8 13 21 34 55 89
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso del bucle for

Uso de construcciones en bucle 7-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso del bucle for
El objetivo de este ejercicio es usar el bucle for en una clase.
Preparacin
Asegrese de que el directorio SL110/exercises/07_loops/exercise2
contenga los archivos CounterTwoTest.java y Sequence2Test.java.
ste ser su directorio de trabajo.
Este ejercicio incluye dos tareas. En cada una de ellas deber crear una
clase y utilizar el bucle for cuando proceda.
Tarea 1: escritura de una clase que utilice el bucle for
Tarea 2: cambio de un bucle while por un bucle for
Tarea 1: escritura de una clase que utilice el bucle for
En esta tarea, escribir una clase que contabilice una serie de nmeros
(del 1 hasta una constante) y presente todos los nmeros de la secuencia
que sean divisibles entre 12.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Escriba una clase llamada CounterTwo que contenga una variable
miembro denominada MAX_COUNT. Asigne el valor 100 a la variable.
3. Cree un mtodo public llamado displayCount que no tenga
argumentos ni tipo de retorno, y que haga lo siguiente:
Efecte un recuento de nmeros del 1 al valor de la constante
MAX_COUNT utilizando un bucle for. Vaya amentando el
valor de la variable del bucle en incrementos de 1.
Muestre en la pantalla el valor de la variable del bucle si es
divisible entre 12.
4. Guarde la clase con el nombre de archivo CounterTwo.java y
complela.
5. Compile el archivo CounterTwoTest.java y ejectelo para
verificar la salida. El resultado debera ser similar al siguiente:
12 24 36 48 60 72 84 96
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso del bucle for

7-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Tarea 2: cambio de un bucle while por un bucle for
En esta tarea, modificar la clase creada en la Tarea 2 del Ejercicio 1 para
sustituir el bucle while por un bucle for.
Lleve a cabo los pasos siguientes:
1. Cree una clase Sequence2 similar a la clase Sequence1 de la Tarea 2
realizada en el Ejercicio 1 y gurdela como Sequence2.java en el
directorio de trabajo.
2. Cree otra variable miembro final llamada SEQUENCE_COUNT y
asgnele el valor 10. El resto de las variables miembro deben
permanecer iguales.
3. En el mtodo displaySequence, sustituya el bucle while por un
bucle for de forma que slo se muestren los 10 primeros valores de
la serie Fibonacci. El resultado debera ser: 0 1 1 2 3 5 8 13 21 34.
4. Guarde y compile el archivo Sequence2.java.
5. Compile el archivo Sequence2Test.java suministrado, ejectelo y
verifique la salida.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 3: uso del bucle do/while

Uso de construcciones en bucle 7-9
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 3: uso del bucle do/while
El objetivo de este ejercicio es escribir un clase que utilice un bucle
do/while.
Preparacin
Asegrese de que el directorio SL110/exercises/07_loops/exercise3
contenga el archivo DiceTest.java. ste ser su directorio de trabajo.
Tarea: escritura de una clase que utilice el bucle
do/while
En esta tarea, deber escribir una clase que simule un sencillo juego de
lanzamiento de dos dados. Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo.
2. Escriba una clase llamada Dice (dado) que contenga dos variables
miembro, diceNumber1 y diceNumber2, para almacenar los
nmeros de los dados.
3. Cree un mtodo public llamado throwDice sin argumentos ni tipo
de retorno, y agregue un bucle do/while que haga lo siguiente:
Bloque de cdigo: generar un nmero aleatorio entre 1 y 6 y
asignarlo a la variable diceNumber1. Repetir la operacin
con la variable diceNumber2. Por ejemplo:
diceNumber1=(int)(Math.random()*6) +1;
Mostrar en la pantalla el valor de las variables diceNumber1
y diceNumber2.
Expresin booleana: repetir si diceNumber1 es igual que
diceNumber2.
4. Guarde y compile la clase Dice.
5. Utilice el archivo DiceTest.java para comprobar el resultado de la
clase Dice.
6. Verifique si aparecen en la pantalla los valores de diceNumber1 y
diceNumber2.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

7-10 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
8-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 8
Desarrollo y uso de mtodos
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Crear mtodos y usarlos en un programa Java.
Usar la sobrecarga de mtodos en un programa Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

8-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
En el primero de ellos, crear mtodos y efectuar la llamada para su
ejecucin.
En el segundo, aplicar la sobrecarga de mtodos.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Desarrollo y uso de mtodos 8-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Indique cules de las siguientes afirmaciones son ciertas:
a. Una clase slo puede contener la declaracin de un mtodo.
b. La forma ms bsica de mtodo es aquella que tiene un tipo de
retorno pero carece de argumentos.
c. Todos los mtodos de llamada pueden ser mtodos worker y
todos los mtodos worker pueden ser mtodos de llamada.
d. Los mtodos sobrecargados tienen el mismo nmero de
argumentos.
2. Cul de los siguientes tipos de argumentos acepta el mtodo main:
a. Un objeto String
b. Un tipo int
c. Un array de referencias a objetos String
d. Un array de objetos String
3. Qu mtodo corresponde a la siguiente llamada?
myPerson.printValues (100, 147.7F, "lavender");
a. public void printValues (int pantSize, float
ageInYears)
b. public void printValues (pantSize, float
ageInYears, favoriteColor)
c. public void printValues (int pantSize, float
ageInYears, String favoriteColor)
d. public void printValues (float ageInYears, String
favoriteColor, int pantSize)
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de argumentos y valores de retorno

8-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: uso de argumentos y valores de retorno
El objetivo de este ejercicio es escribir una clase con un mtodo que
llame a un mtodo worker de otra clase.
Deber crear una pequea aplicacin que instancie tres objetos shirt
(camisa) y aplique un precio distinto a cada uno.
A continuacin, la aplicacin instanciar un objeto receipt (recibo)
que indique el precio total de la compra a medida que se vayan
agregando camisas al pedido.
Preparacin
Asegrese de que el directorio
SL110/exercises/08_methods/exercise1 contenga los archivos
Order.java y Shirt.java. ste ser su directorio de trabajo.
Tarea: escritura de un mtodo que utiliza argumentos
y valores de retorno
En esta tarea, deber escribir una clase de prueba (test) que agregue varios
objetos Shirt a un objeto Order y muestre en la pantalla el importe
total del pedido en dlares. Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Abra el archivo Shirt.java y examine sus variables miembro y el
mtodo que contiene.
3. Abra el archivo Order.java y examine sus variables miembro y el
mtodo que contiene.
4. Escriba una clase nueva llamada OrderTest que contenga un
mtodo main.
5. En el mtodo main:
a. Cree e inicialice un objeto Order y un objeto Shirt. La clase
Order (Order.java) y la clase Shirt (Shirt.java) se han
suministrado en el directorio exercise1.
b. Declare una variable de tipo double, denomnela totalCost
(coste total) e inicialcela con el valor 0.0.
c. Asigne a Shirt 14.00 como valor de precio (price).
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: uso de argumentos y valores de retorno

Desarrollo y uso de mtodos 8-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
d. Llame al mtodo addShirt de la clase Order utilizando la
instancia Order para agregar la instancia shirt al pedido.
Guarde el valor de retorno del mtodo addShirt en la variable
totalCost. El mtodo addShirt hace lo siguiente:
public double addShirt (Shirt s)
Agrega una camisa (shirt) a una lista de camisas de un pedido.
Parmetros:
s: es la referencia a un objeto Shirt.
Devuelve:
El importe total del pedido.
e. Muestre en la pantalla el valor total del pedido. Por ejemplo:
El importe total del pedido es: 14.00
6. Compile y ejecute el programa. Compruebe si aparece en la pantalla
el valor total del pedido.
7. En el mtodo main de la clase OrderTest, cree ms objetos Shirt,
asigne valores a sus variables price y agregue los nuevos objetos
Shirt al pedido llamando al mtodo addShirt.
8. Guarde y compile el archivo OrderTest.java.
9. Ejecute la clase OrderTest y verifique si se muestra correctamente el
valor total del pedido.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de mtodos sobrecargados

8-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de mtodos sobrecargados
El objetivo de este ejercicio es aplicar la sobrecarga de mtodos.
En l, crear mtodos sobrecargados en una clase, efectuar llamadas a
esos mtodos y los verificar.
Preparacin
Asegrese de que el directorio
SL110/exercises/08_methods/exercise2 contenga el archivo
CustomerTest.java. ste ser su directorio de trabajo.
Tarea: desarrollo de una clase con un mtodo
sobrecargado
En esta tarea, deber escribir una clase Customer (cliente) con un mtodo
sobrecargado llamado setCustomerInfo.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Cree una clase llamada Customer y guarde el archivo como
Customer.java en el directorio de trabajo.
3. En la clase Customer, agregue dos mtodos sobrecargados llamados
setCustomerInfo.
En funcin de cmo se haga la llamada al mtodo
setCustomerInfo, ste realizar una de las siguientes operaciones:
Establecer el ID, el nombre, la direccin y el nmero de telfono
de un objeto Customer (stos son los datos imprescindibles
para un cliente nuevo).
Establecer el ID, el nombre, la direccin, el nmero de telfono
y la direccin de correo electrnico de un objeto Customer.
4. Cree un mtodo display para mostrar los valores de todas las
variables miembro de la clase Customer.
5. Guarde y cierre el archivo Customer.java.
6. Abra el archivo llamado CustomerTest.java para comprobar los
mtodos sobrecargados de la clase Customer.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de mtodos sobrecargados

Desarrollo y uso de mtodos 8-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
7. En el mtodo main de la clase CustomerTest, escriba el cdigo
necesario para realizar las tareas siguientes:
a. Cree dos referencias a diferentes objetos Customer.
b. Utilice cada variacin del mtodo setCustomerInfo para
proporcionar la informacin de cada objeto Customer.
c. Muestre en la pantalla el contenido de cada objeto Customer.
8. Guarde y compile el archivo CustomerTest.java.
9. Ejecute la clase CustomerTest y compruebe el resultado.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

8-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
9-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 9
Implementacin de la encapsulacin y los
constructores
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Usar el concepto de encapsulacin en una clase de Java.
Implementar constructores en una clase.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

9-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar tres
ejercicios.
En el primero, deber implementar la encapsulacin en una clase de
Java.
En el segundo, acceder a los atributos encapsulados de una clase.
En el tercero, deber implementar constructores en una clase de Java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Implementacin de la encapsulacin y los constructores 9-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Cul de las frases siguientes define el concepto de interfaz:
a. Forma en que una clase lleva a cabo sus tareas dentro de un
mtodo.
b. Operaciones y atributos de un objeto.
c. Forma en que otros objetos interaccionan con un objeto.
d. Declaracin de atributos privados.
2. Indique si las afirmaciones siguientes son verdaderas o falsas:
a. Es posible acceder a los miembros private de un objeto a travs
de mtodos public.
b. No es posible sobrecargar los constructores.
3. El mbito de una variable se refiere a:
a. El ciclo de vida de la variable.
b. Lugar del programa donde puede utilizarse la variable, tambin
conocido como extensin de la variable.
c. Forma en que otros objetos interaccionan con un objeto.
d. Modo de acceso de la variable: private o public.
4. Cul es el constructor predeterminado de la clase siguiente?
public class Penny {
String name = "lane";
}
a. Penny()
b. public Penny()
c. class()
d. String()
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: escritura de clases encapsuladas

9-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: escritura de clases encapsuladas
El objetivo de este ejercicio es escribir una clase que utilice la
encapsulacin para ocultar datos a otros objetos.
En este ejercicio, deber crear una clase llamada DateOne y modificar sus
atributos para implementar la encapsulacin y examinar la salida.
Consta de dos tareas:
Tarea 1: implementacin de la encapsulacin en una clase
Tarea 2: acceso a los atributos encapsulados de una clase
Preparacin
Asegrese de que el directorio
SL110/exercises/09_encapconstr/exercise1 contenga los archivos
DateOneTest.java, DateTwoTest.java y DateThreeTest.java. ste
ser su directorio de trabajo.
Tarea 1: implementacin de la encapsulacin en una
clase
En esta tarea crear una clase que contenga atributos private y tratar de
acceder a ellos en otra clase.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Cree una clase llamada DateOne que contenga tres variables
miembro de tipo int llamadas: day, month y year. Asigne el modo
de acceso public a todas las variables. Guarde la clase con el
nombre DateOne.java.
3. Abra el archivo DateOneTest.java suministrado en el directorio de
trabajo y escriba lo siguiente en su mtodo main:
a. Cree e inicialice un objeto de tipo DateOne.
b. Asigne diferentes valores numricos a las variables miembro de
la instancia de DateOne.
c. Muestre en pantalla el valor de las citadas variables de la
instancia de DateOne.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: escritura de clases encapsuladas

Implementacin de la encapsulacin y los constructores 9-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
4. Guarde y compile el archivo DateOneTest.java.
5. Ejecute el archivo de la clase DateOneTest y examine el resultado.
6. Cree una clase nueva llamada DateTwo que incluya tres variables
miembro, como DateOne, y gurdela con el nombre DateTwo.java.
7. Cambie el modificador de acceso de las tres variables de DateTwo a
private.
8. Abra el archivo DateTwoTest.java suministrado en el directorio de
trabajo y lleve a cabo los mismos pasos que en el paso 3, pero, en este
caso, cree una instancia de DateTwo en lugar de crearla de la clase
DateOne. El resto de las lneas de cdigo seguirn siendo iguales.
9. Guarde y compile DateTwoTest.java.
10. Examine los errores de compilacin y averige la razn por la que se
han producido.
Tarea 2: acceso a los atributos encapsulados de una
clase
En esta tarea, crear una clase con atributos private que puedan manejarse
desde otra clase.
Lleve a cabo los pasos siguientes:
1. Cree una clase llamada DateThree y gurdela en un archivo con el
nombre DateThree.java.
2. La clase DateThree tiene las mismas variables miembro privadas
que la clase DateTwo.
3. Agregue los mtodos siguientes a la clase DateThree:
a. Mtodos get y set para las tres variables miembro.
Por ejemplo:
public void setDay(int d) {
day = d;
}
public int getDay() {
return day;
}
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: escritura de clases encapsuladas

9-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
b. Mtodo setDate: acepta tres argumentos de tipo int y asigna
su valor respectivamente a las variables day, month y year
de la clase DateThree. Antes de asignar los parmetros a las
variables, valdelos para asegurarse de que el da (day) no
supere los valores 30, 31, 28 o 29 (en funcin del mes), el
mes (month) sea un valor entre 1 y 12, y el ao (year) se site
entre los valores 1000 y 10000. Por ejemplo, el 31 de febrero
no tendra que ser un valor aceptable. Deberan aparecer
mensajes de error en caso de que falle la validacin.
Nota: Utilice las sentencias switch case e if else para efectuar estas
comprobaciones.
Mtodo displayDate: muestra en pantalla la fecha con el
formato siguiente: Todays Date is: 10/25/2006
4. Guarde y compile DateThree.java.
5. Abra el archivo DateThreeTest.java suministrado en el directorio
de trabajo y haga lo siguiente en el mtodo main:
a. Cree e inicialice una instancia de la clase DateThree.
b. Introduzca una llamada a los mtodos setDay, setMonth y
setYear, y pseles valores vlidos en forma de argumentos.
c. Muestre en pantalla los valores de las variables de DateThree
utilizando sus mtodos getDay, getMonth y getYear.
Por ejemplo:
System.out.println( The date is +
dateObj.getMonth()+ / dateObj.getDay() + / +
dateObj.getYear());
// dateObj es una instancia de la clase DateThree
6. Guarde y compile el archivo DateThreeTest.java.
7. Ejecute la clase DateThreeTest y examine el resultado.
8. Vuelva a abrir el archivo DateThreeTest.java.
9. Al final del mtodo main, agregue un fragmento de cdigo que haga
lo siguiente:
a. Llamar al mtodo setDate utilizando la instancia de la clase
DateThree y pasarle valores vlidos en forma de argumentos.
b. Llamar al mtodo displayDate utilizando la instancia de la
clase DateThree.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: escritura de clases encapsuladas

Implementacin de la encapsulacin y los constructores 9-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
10. Guarde, compile y ejecute el archivo DateThreeTest.java.
11. Examine la salida y compruebe si aparece algn mensaje de error.
12. En el archivo DateThreeTest.java, modifique el valor de los
argumentos pasados al mtodo setDate y repita los pasos 10 y 11.
?
!
Discusin: Puede comentar las condiciones de error que podran
generarse al definir los valores de mes, da y ao en el mtodo setDate.
Pida a los alumnos que prueben la clase DateThree en todos esos casos y
verifiquen los mensajes de error.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de constructores

9-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de constructores
El objetivo de este ejercicio es implementar constructores en una clase.
Deber crear constructores sobrecargados en una clase y utilizarlos para
inicializar objetos de esa clase.
El ejercicio consta de dos tareas:
Tarea 1: creacin y uso de constructores
Tarea 2: creacin de constructores para inicializar objetos
Preparacin
Asegrese de que el directorio
SL110/exercises/09_encapconstr/exercise2 contenga los archivos
DateFourTest.java y RectangleTest.java. ste ser su directorio de
trabajo.
Tarea 1: creacin y uso de constructores
En esta tarea, deber escribir una clase DateFour con constructores y
crear objetos a partir de esa clase para utilizar los constructores de la
forma apropiada.
Siga estos pasos para escribir la clase:
1. Sitese en el directorio de trabajo y abra un editor.
2. Cree una clase llamada DateFour de forma similar a la clase
DateThree del Ejercicio 1 y guarde el archivo como DateFour.java
en el directorio de trabajo.
3. Agregue al archivo DateFour.java un constructor sin argumentos
que asigne el valor 1 a las variables month y day, y el valor 2007 a
la variable year.
4. Cambie el nombre del mtodo setDate para convertirlo en un
constructor que acepte, verifique y defina los valores de month, day
y year.
5. Guarde y compile el archivo DateFour.java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de constructores

Implementacin de la encapsulacin y los constructores 9-9
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
6. Abra el archivo DateFourTest.java. En el mtodo main, cree
objetos de DateFour llamados d1 y d2, donde d1 se crea
utilizando el constructor sin argumentos y d2 se crea usando el
constructor de tres argumentos.
7. En la clase DateFourTest, llame al mtodo display para mostrar en
la pantalla los valores de day, month y year correspondientes a los
objetos d1 y d2.
8. Compile el archivo DateFourTest.java, ejectelo y verifique la
salida.
El resultado de la clase DateFourTest debera ser similar al
siguiente:
Todays Date is: 1/1/2007
Todays Date is: 3/9/1967
Tarea 2: creacin de constructores para inicializar
objetos
En esta tarea, crear una clase y utilizar constructores para inicializar
objetos. Siga estos pasos para crear la clase:
1. Cree una clase Rectangle (rectngulo) y guarde el archivo con el
nombre Rectangle.java.
2. Cree dos variables privadas de tipo int con los nombres width
(anchura) y height (altura).
3. Agregue los constructores siguientes a Rectangle.java:
Un constructor sin argumentos que imprima en la pantalla el
mensaje Default rectangle created: width=25, height=10 y
defina width como 25 y height como 10.
Un constructor que adopte dos argumentos enteros, w y h, y
asigne a width el valor w y a height el valor h nicamente si
estos dos argumentos (w y h) son mayores que 0 y menores que
30. En caso de que el valor de w o h est fuera de los lmites,
aparecer un mensaje de error. Asimismo aparecer en la
pantalla un mensaje para indicar que se ha creado un
rectngulo de las dimensiones siguientes: width=w y height=h.
4. Cree un mtodo llamado getArea que calcule y devuelva el rea del
rectngulo. El rea se calcula como height* width.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de constructores

9-10 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
5. Cree un mtodo llamado draw y haga lo siguiente en l:
a. Cree un bucle for anidado para dibujar un rectngulo
utilizando asteriscos (*).
b. El nmero de asteriscos utilizados para dibujarlo debera
coincidir con los valores de altura y anchura especificados para
el rectngulo.
6. Guarde y compile el archivo Rectangle.java.
7. Modifique el archivo RectangleTest.java suministrado para crear
instancias de Rectangle llamadas r1 y r2, de forma que:
r1 se cree mediante el constructor sin argumentos.
r1 se dibuje inmediatamente despus de su creacin.
r2 se cree utilizando el constructor con argumentos.
Se dibuje r2 y su rea aparezca en la pantalla.
8. Guarde y compile el archivo RectangleTest.java y compruebe el
cdigo del rectngulo.
El resultado de la clase RectangleTest debera ser similar al
siguiente:
Default rectangle created: width=25, height=10
This is the first rectangle:
*************************
*************************
*************************
*************************
*************************
*************************
*************************
*************************
*************************
*************************
Rectangle created: width=20, height=7
This is the second rectangle:
********************
********************
********************
********************
********************
********************
********************
The area is 140.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

Implementacin de la encapsulacin y los constructores 9-11
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas del ejercicio.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
10-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 10
Creacin y uso de matrices (arrays)
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Crear y utilizar un array unidimensional.
Usar arrays en un bucle.
Interpretar argumentos de tiempo de ejecucin.
Crear y usar arrays bidimensionales.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

10-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar cuatro
ejercicios.
En el primer ejercicio, crear y utilizar arrays unidimensionales de
tipos primitivos y de objetos.
En el segundo, utilizar bucles de varias maneras para inicializar un
array.
En el tercero, utilizar el array args[] del mtodo main.
En el cuarto, crear y utilizar arrays bidimensionales.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Creacin y uso de matrices (arrays) 10-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. El cdigo siguiente representa la sintaxis correcta para _____
un array
identificador_array = new tipo [longitud];
a. Declarar
b. Definir los valores del array
c. Instanciar
d. Declarar, instanciar y definir un array de valores
2. Indique si las afirmaciones siguientes son verdaderas o falsas:
a. La sintaxis para declarar, instanciar y definir un array de
valores es:
tipo [] identificador_array =
{lista_de_valores_o_expresiones_separados_por_comas};
b. La sintaxis para definir los valores de un array es:
identificador_array[ndice] = valor;
3. Dada la siguiente declaracin de un array, determine si las afirmaciones
siguientes son verdaderas o falsas.
int [ ] autoMobile = new int [13];
a. autoMobile[0] es la referencia al primer elemento del array.
b. autoMobile[13] es la referencia al ltimo elemento del array.
c. Hay 13 enteros en el array autoMobile.
4. Un array bidimensional es parecido a _______:
a. Una lista de la compra
b. Una lista de tareas
c. Una matriz
d. Un grfico de barras que contiene las dimensiones de varias
cajas
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: creacin y uso de arrays unidimensionales

10-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: creacin y uso de arrays unidimensionales
El objetivo de este ejercicio es escribir clases que utilicen arrays
unidimensionales de tipos de datos primitivos y de objetos.
Consta de dos tareas:
Tarea 1: creacin de una clase con un array unidimensional de tipos
primitivos
Tarea 2: creacin de una clase con un array unidimensional de
objetos
Preparacin
Asegrese de que el directorio SL110/exercises/10_arrays/exercise1
contenga los archivos VacationScaleTest.java y Shirt.java. ste ser
su directorio de trabajo.
Tarea 1: creacin de una clase con un array
unidimensional de tipos primitivos
El nmero de das de vacaciones que recibe un empleado de la empresa
DirectClothing, Inc. se basa en el nmero de aos que ese empleado ha
trabajado para la compaa. A continuacin se indica la escala de
asignacin de vacaciones que utiliza DirectClothing, Inc.
En esta tarea, deber escribir una clase llamada VacationScale que
contenga un array de siete elementos. Considere que el nmero de
aos trabajados es relativo a la posicin del elemento en el array.
Cada elemento contiene el nmero de das de vacaciones
correspondiente la cantidad de aos trabajados.
Nmero de aos trabajados Nmero de das de vacaciones
Hasta 1 ao 10
1, 2 o 3 aos 15
4 o 5 aos 20
6 o ms aos 25
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: creacin y uso de arrays unidimensionales

Creacin y uso de matrices (arrays) 10-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Siga estos pasos para escribir la clase:
1. Abra la ventana de terminal y vaya al directorio
SL110/exercises/10_arrays/exercise1.
2. Escriba una clase llamada VacationScale que contenga una
variable miembro de tipo int[] denominada vacationDays
(das de vacaciones). Cada elemento contendr el nmero de das
de vacaciones correspondiente al ndice especificado en el array.
Por ejemplo, el ndice 0 representa 0 aos de servicio, por lo que
vacationDays[0] contendr el nmero 10. Asimismo, el ndice 4
representa 4 aos de servicio, as que vacationDays[4] contendr
el nmero 20.
3. Cree un mtodo public llamado setVacationScale que no tenga
argumentos ni tipo de retorno: inicialice el array vacationDays con
un tamao de siete y defina valores en todos sus elementos.
4. Cree un mtodo public llamado displayVacationDays que no
devuelva ningn valor, acepte un argumento int (yearsOfService)
y presente el nmero de das de vacaciones que recibe el empleado.
Por ejemplo, si se pasa el valor 1 a displayVacationDays,
aparecer en pantalla el nmero 15.
Pista: puede usar una variable entre corchetes al recuperar los
valores de un array. Por ejemplo:
vacationDays[yearsOfService]
5. Compile y ejecute su clase utilizando la clase VacationScaleTest
suministrada. La salida de su programa debera ser similar a sta:
Your vacation is: 15
Your vacation is: 20
Your vacation is: 25
Tarea 2: creacin de una clase con un array
unidimensional de objetos
En esta tarea, escribir un programa que cree y asigne valores a un array
de objetos Shirt. Lleve a cabo los pasos siguientes:
1. Sitese en el directorio SL110/exercises/10_arrays/exercise1.
2. Escriba una clase llamada ShirtArrayTest que:
Cree tres objetos Shirt y defina sus valores mediante un
constructor. El constructor de la clase Shirt es:
public Shirt(int shirtID, String description, char
colorcode, double price, int quantityInStock)
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: creacin y uso de arrays unidimensionales

10-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Coloque cada referencia al objeto Shirt en un array.
Utilice el array para mostrar en la pantalla los valores del objeto
Shirt utilizando el mtodo displayInformation de dicho
objeto.
3. Compile y ejecute su clase ShirtArrayTest. Examine el resultado.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: uso de bucles y arrays

Creacin y uso de matrices (arrays) 10-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: uso de bucles y arrays
El objetivo de este ejercicio es usar un bucle para inicializar un array.
Preparacin
Asegrese de que el directorio SL110/exercises/10_arrays/exercise2
contenga el archivo VacationScaleTwoTest.java. ste ser su directorio
de trabajo.
Tarea: uso de un bucle para inicializar un array
En esta tarea, reescribir el mtodo setVacationScale de la clase
VacationScale para usar un bucle. La clase VacationScale se cre en
el ejercicio anterior. Siga estos pasos para modificar el mtodo:
1. Sitese en el directorio de trabajo.
2. Copie el archivo VacationScale.java del directorio
SL110/exercises/mod10_arrays/exercise1 en el directorio
actual y cambie el nombre de la copia por VacationScaleTwo.java.
3. Edite el archivo VacationScaleTwo.java y cambie el nombre de la
clase por VacationScaleTwo.
4. Reescriba el mtodo displayVacationDays y utilice un bucle
para iterar sobre el array vacationDays y mostrar los valores
almacenados en cada elemento de este array. El mtodo no
debera aceptar ningn argumento.
5. Compile y ejecute su clase utilizando la clase
VacationScaleTwoTest suministrada.
Nota: Para llevar a cabo esta tarea, modifique el paso 4 a fin de utilizar el
bucle for mejorado y verifique la salida.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 3: anlisis del array args[]

10-8 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 3: anlisis del array args[]
El objetivo de este ejercicio es usar el array args[] dentro del mtodo
main para crear un juego de adivinacin de nmeros.
En este ejercicio, crear una clase que acepte como argumento un nmero
entre 1 y 5 introducido durante el tiempo de ejecucin. Tambin
deber generar un nmero aleatorio de 1 a 5 en la clase y comparar el
valor del argumento con el del nmero generado aleatoriamente.
Tarea: creacin de un juego utilizando el array args [ ]
En esta tarea, escribir un juego que acepte un argumento y presente
un mensaje asociado. Siga estos pasos para escribir el juego:
1. Sitese en el directorio
SL110/exercises/mod10_arrays/exercise3.
2. Escriba una clase GuessingGame (juego de adivinacin) con un
mtodo main que acepte un argumento: cualquier nmero
situado entre 1 y 5 o la palabra help.
3. Si la clase GuessingGame recibe la palabra help como argumento,
mostrar en la pantalla la informacin de uso del programa.
4. Si se introducen los nmeros 1, 2, 3, 4 o 5:
a. Genere un nmero aleatorio del 1 al 5 utilizando el siguiente
fragmento de cdigo:
randomNum =((int)(Math.random()*5)+1);
b. Compare el argumento con este nmero aleatorio. Si el valor
del argumento y el nmero aleatorio son iguales, muestre
un mensaje al usuario para indicarle que ha adivinado el
nmero correcto. Si el valor del argumento y el nmero
aleatorio no coinciden, muestre el nmero aleatorio y pida
al usuario que vuelva a intentarlo.
5. Si se introduce un nmero incorrecto (menor que 1 o mayor que 5),
muestre al usuario un mensaje para indicarle que el valor
introducido no es vlido.
6. Guarde el archivo con el nombre GuessingGame.java.
7. Compile la clase. Ejectela varias veces y examine la salida
suministrando un argumento distinto cada vez.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 4: creacin y uso de arrays bidimensionales

Creacin y uso de matrices (arrays) 10-9
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 4: creacin y uso de arrays bidimensionales
El objetivo de este ejercicio es crear un array bidimensional y acceder a l.
Este ejercicio utiliza como ejemplo un aula. El aula tiene 12 pupitres
dispuestos en una cuadrcula rectangular formada por 3 filas y
4 columnas. A los alumnos se les va asignando el primer pupitre que
se encuentre vaco en la fila.
En la Figura 10-1 se muestra el plano del aula en forma de cuadrcula.
Cada celda representa un pupitre y contiene las coordenadas de la
posicin del pupitre en el plano de la sala.
Figura 10-1 Cuadrcula rectangular que representa el plano del aula
En este ejercicio, crear una clase de Java que represente el plano de
un aula, asigne a cada alumno la posicin de un pupitre, muestre el
plano de pupitres del aula y busque la ubicacin de un pupitre
asignado a un alumno.
Preparacin
Asegrese de que el directorio SL110/exercises/10_arrays/exercise4
contenga el archivo ClassMapTest.java. ste ser su directorio de
trabajo.
El ejercicio consta de tres tareas:
Tarea 1: creacin de una clase con un array bidimensional
Tarea 2: uso de un array bidimensional
Tarea 3: comprobacin de una clase que contiene un array
bidimensional
XXXXX Col 1 Col 2 Col 3 Col 4
Fila 1 0,0 0,1 0,2 0,3
Fila 2 1,0 1,1 1,2 1,3
Fila 3 2,0 2,1 2,2 2,3
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 4: creacin y uso de arrays bidimensionales

10-10 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Tarea 1: creacin de una clase con un array
bidimensional
En esta tarea, crear una clase que contenga un array bidimensional como
variable miembro. Es un array de tipo String y tiene un tamao de [3][4].
Cada elemento del array representa un pupitre (desk) cuya posicin
coincide con su ndice en el array. Por ejemplo, desk[2][1] representa el
pupitre situado en la fila 3 y la columna 2. Consulte la Figura 10-1 para
mayor claridad. Cada elemento del array almacena el nombre del alumno
que tiene asignado ese pupitre en el aula.
Lleve a cabo los pasos siguientes:
1. Convierta SL110/exercises/10_arrays/exercise4 en su
directorio de trabajo.
2. Cree una clase llamada ClassMap y gurdela como ClassMap.java.
3. En la clase, declare dos variables miembro, roomNo de tipo int y
deskArray de tipo String[][].
4. Cree un constructor con argumento que acepte un valor id de tipo
int. En el constructor:
a. Asigne el valor del argumento a la variable RoomNo.
b. Inicialice el tamao de deskArray con los valores [3][4].
5. Guarde la clase ClassMap.
Tarea 2: uso de un array bidimensional
En esta tarea, deber escribir ciertos mtodos en la clase ClassMap que
atraviesen el array deskArray para:
Asignar pupitres a los alumnos.
Mostrar la disposicin del aula.
Buscar la ubicacin del pupitre de un alumno en el aula.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 4: creacin y uso de arrays bidimensionales

Creacin y uso de matrices (arrays) 10-11
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Lleve a cabo los pasos siguientes:
1. Cree un mtodo denominado setDesk que acepte un argumento
String y no devuelva ningn valor. El argumento contendr el
nombre del alumno.
2. En el mtodo setDesk, escriba cdigo para realizar las siguientes
tareas:
a. Recorrer el array deskArray para identificar el primer pupitre
vacante que contenga. Para hacerlo, puede utilizar un bucle
for anidado. Por ejemplo:
for (int row=0;row<3;row++){
for (int col=0;col<4;col++){
if (deskArray[row][col]==null){
b. Asignar el nombre del alumno al elemento vacante.
c. Mostrar en la pantalla la posicin del pupitre de ese alumno y
salir de los bucles.
Nota: Puede utilizar la sentencia break para salir de los bucles.
3. Cree un mtodo public llamado displayDeskMap sin argumentos
ni tipo de retorno. En el mtodo, escriba el cdigo necesario para
recorrer deskArray e imprimir en la pantalla los nombres de cada
elemento del array de manera que aparezcan en forma de cuadrcula.
4. Cree un mtodo denominado searchDesk que acepte un argumento
String y no devuelva ningn valor. El argumento representa el
nombre del alumno cuyo pupitre debe buscarse en el array
deskArray.
5. En el mtodo searchDesk, escriba cdigo para hacer lo siguiente:
a. Crear un bucle for anidado que recorra el array deskArray.
b. Si el elemento del array no es null, comparar el valor del
argumento del mtodo con el del elemento. Por ejemplo:
if (deskArray[row][col] !=null &&
deskArray[row][col].equals(name)==true){
c. Mostrar en la pantalla la posicin del pupitre si los nombres
coinciden.
d. Mostrar un mensaje de error si no se encuentra el nombre en el
array deskArray.
e. Utilizar la sentencia break para salir de los bucles cuando sea
necesario.
6. Guarde y cierre el archivo ClassMap.java.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 4: creacin y uso de arrays bidimensionales

10-12 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Tarea 3: comprobacin de una clase que contiene un
array bidimensional
Lleve a cabo los pasos siguientes:
1. Abra el archivo ClassMapTest.java suministrado en el directorio
de trabajo.
2. Examine el mtodo main y compruebe si se ha efectuado la llamada
a todos los mtodos de la clase ClassMap.
3. Compile el archivo ClassMapTest.java, ejectelo y verifique el
resultado.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

Creacin y uso de matrices (arrays) 10-13
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
11-1
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Prctica 11
Implementacin de la herencia
Objetivos
La realizacin de esta prctica le permitir:
Responder a las preguntas de repaso.
Disear superclases y subclases.
Implementar superclases y subclases.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Contenido de la prctica

11-2 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Contenido de la prctica
En esta prctica, responder a las preguntas de repaso y realizar dos
ejercicios.
En el primero, deber disear una jerarqua de clases a partir de un
ejemplo propuesto.
En el segundo, crear la jerarqua de clases y la utilizar.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Preguntas de repaso

Implementacin de la herencia 11-3
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Preguntas de repaso
Responda a las preguntas siguientes:
1. Indique si las afirmaciones siguientes son verdaderas o falsas:
a. En programacin Java, una superclase puede heredar elementos
de sus subclases.
b. Un objeto es un concepto abstracto.
2. Cul de las siguientes palabras clave de Java indica herencia?
a. La palabra implements
b. La palabra inherits
c. La palabra extends
d. La palabra imports
3. Qu funcin cumple la palabra clave import?
a. Informa a la mquina virtual de las clases que utiliza el
programa.
b. Informa a la mquina virtual de que se est utilizando un
archivo grfico en el programa.
c. Facilita la lectura del programa al permitir el uso de nombres
abreviados para hacer referencia a las clases del API de Java.
d. Indica al compilador que se est compilando un programa que
utiliza clases del API de Java.
4. De qu paquete del API de Java se importan de forma implcita las
clases String, Math e Integer?
a. El paquete java.awt
b. El paquete java.applet
c. El paquete java.lang
d. El paquete java.io
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: diseo de superclases y subclases

11-4 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 1: diseo de superclases y subclases
El objetivo de este ejercicio es comprender las caractersticas de un
problema planteado y disear una jerarqua de clases.
Tarea 1: identificacin de superclases y subclases
En esta tarea, deber disear una superclase y subclases utilizando la
informacin del ejemplo siguiente.
Publishing, Inc. tiene empleados que ocupan diferentes cargos. Los cargos
son los siguientes: redactores tcnicos, ilustradores grficos, gerentes y
editores.
Publishing, Inc. le pide que cree un programa para llevar el control de la
informacin relativa a cada uno de sus trabajadores. Esta informacin se
compone de los datos siguientes: el nombre del trabajador, su cargo, el ID
de empleado (en un intervalo de 1 a 10.0000) y el nivel (1, 2 o 3). Adems:
Los gerentes deben tener una lista de los empleados a su cargo.
Los redactores tcnicos, ilustradores y editores deben tener una lista
de las competencias que poseen.
Los editores deben tener un valor que indique si prefieren realizar la
edicin en formato electrnico o en papel.
Todas las subclases deben incluir un mtodo para mostrar la
informacin segn el tipo de empleado.
Para disear las subclases y superclases:
1. Cree una jerarqua de clases que muestre las relaciones entre las
superclases y subclases relativas a los empleados de Publishing, Inc.
Utilice la frase es un(a) para verificar la jerarqua creada.
2. Modele la jerarqua usando diagramas de clases similares a los
empleados en este mdulo.
Demuestre la encapsulacin de cada una de las clases de su diseo
incluyendo en l los mtodos get y set.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 1: diseo de superclases y subclases

Implementacin de la herencia 11-5
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Notas
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Ejercicio 2: creacin y uso de superclases y subclases

11-6 Programacin Java para no Programadores
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Ejercicio 2: creacin y uso de superclases y subclases
El objetivo de este ejercicio es crear e implementar la jerarqua de clases
diseada en el ejercicio anterior.
Preparacin
Asegrese de que el directorio
SL110/exercises/11_hierarchy/exercise2 contenga el archivo
EmployeeTest.java. ste ser su directorio de trabajo.
Tarea: creacin de clases
En esta tarea, deber desarrollar subclases y superclases para la jerarqua
de clases de empleados. Siga estos pasos para crear las clases:
1. Vaya al directorio inheritance.
2. Cree archivos de clases para cada una de las clases esbozadas en la
primera parte del ejercicio.
3. Cree mtodos en cada una de las subclases para mostrar en la
pantalla la informacin sobre el trabajador.
4. Cree mtodos get y set, segn lo especificado en el diseo, y utilice
construcciones de toma de decisin para asegurarse de que no se
hayan definido datos incorrectos.
5. (Opcional) Trate de utilizar mtodos de las clases String y
Character para asegurarse de que ni los nombres ni los cargos
definidos contengan caracteres numricos.
6. Declare la variable employeeID como static a fin de que cada ID
generado sea exclusivo de un empleado.
7. Guarde y compile todos los archivos de clases con los nombres
Employee (empleado), Manager (gerente), Editor,
TechnicalWriter (redactor tcnico) y TechnicalIllustrator
(ilustrador).
8. Compile el archivo EmployeeTest.java, ejectelo y verifique la
salida.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
Resumen del ejercicio

Implementacin de la herencia 11-7
Copyright 2008 Sun Microsystems, Inc. Todos los derechos reservados. Sun Services, Revisin E.1
Resumen del ejercicio
?
!
Discusin: Dedique unos minutos a comentar las conclusiones o
experiencias extradas de las prcticas.
Experiencias
Interpretaciones
Conclusiones
Aplicaciones
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.
F
U
N
D
A
C
I
O
N

P
R
O
Y
D
E
S
A

(
F
U
N
D
A
C
I
O
N
@
P
R
O
Y
D
E
S
A

O
R
G
)

h
a
s

a

n
o
n
-
t
r
a
n
s
f
e
r
a
b
l
e

l
i
c
e
n
s
e

t
o

u
s
e

t
h
i
s

S
t
u
d
e
n
t

G
u
i
d
e

Unauthorized reproduction or distribution prohibited. Copyright 2010, Oracle and/or its affiliates.

Vous aimerez peut-être aussi