UD I: Conceptos de Java para Estructuras de Datos

Anuncio
!
!
"
#
!
!
!
%
!
!
&
'
"
*) +
$
!
'
!
'
!
&#) ),
)
)
!
,
)
&(---)
(
package ejemplos.tema2.gestionDeFigurasSinExcepciones;
public class TestSituacionesInesperadas {
private static Scanner teclado = new Scanner(System.in).useLocale(new
Locale("es", "US"));
.
/) 0
!
/)/ #
/)( 1!
2
/)3 1 '
"
! " #
"
! " #
2
4
() 5
0
!
()/ $
()( 4
2
%
()()/
()()( '
$
&
$
! "
! "
(
!(
public static void main(String args[]){
GrupoDeFiguras g = new ArrayGrupoDeFiguras(); int opcion;
do {
opcion = menu(); if ( opcion != 0 ) procesar(opcion, g);
} while ( opcion != 0 );
}
private static int menu(){
int res = 0; System.out.println();
System.out.println("
*** MENÚ ***");
System.out.println("1.- Insertar una nueva Figura en el Grupo");
System.out.println("2.- Buscar una Figura en el Grupo");
System.out.println("3.- Borrar una Figura del Grupo");
System.out.println("4.- Recuperar por posición una Figura del Grupo");
System.out.println("5.- Calcular el área del Grupo");
System.out.println("6.- Mostrar las Figuras que componen el Grupo");
System.out.println("7.- Mostrar las Figuras del Grupo ordenadas por área");
System.out.println("8.- Mostrar array con las mismas Figuras que el Grupo");
System.out.print("Seleccione opción: ");
res = teclado.nextInt();
return res;
}
6" 7
"
8
8
'
9
-)):;<
private static void procesar(int opcion, ArrayGrupoDeFiguras g) {
switch (opcion) {
"7
$
case 1: Figura f = menuFigura(); 6
6" 7
"
f.leer(teclado);
4
<
g.insertar(f);
<
break;
case 2: Figura fB = menuFigura();
6" 7
0
fB.leer(teclado);
8
'
System.out.println("Buscando la Figura "+fB);
4
<
int p = g.indiceDe(fB);
System.out.println(“1ªapar.de "+fB+”:”+g.recuperar(p).toString());
break;
case 3: Figura fD = menuFigura();
fD.leer(teclado);
6" 7
'
boolean b = g.eliminar(fD);8
0
System.out.println("Borrando "+fD);
4
…
private static Figura menuFigura(){
Figura res = null;
System.out.println("PULSE ... ");
System.out.println("1 para leer Círculo");
System.out.println("2 para leer Rectángulo");
System.out.println("3 para leer Cuadrado");
int opcion = teclado.nextInt();
if ( op == 1 ) res = new Circulo();
else if (op==2) res=new Rectangulo();
else if (op==3) res=new Cuadrado();
return res;
}
6" 7
"
8
<
System.out.println(“¿Borrada "+fD+" del Grupo?:”+b);
break;
case 4: System.out.println("Indique la6
posición
"
7
int i = teclado.nextInt();
Figura fR = g.recuperar(i);
8
'
9
/))3;<
de la Figura a recuperar:"
);
"
<
System.out.println("Recuperada la Figura "+fR+" de la posición "+i);
case
case
case
case
5:
6:
7:
8:
System.out.println("Área total :"+g.area()); break;
System.out.println(g.toString());
6" 7 break;
8
System.out.println(Arrays.toString(g.ordenar()));
break;
'
4
<
System.out.println(Arrays.toString(g.toArray())); break;
}
}
0
5
0
=
!
&
!
'?
,
&
"
!7
4
0
!
>
)
&
2
2
"
!
&
)*
@
&
@
B
) )B
!
! !
!
'
'
>
@& !
"
@
&
&
"
! !
!
&) )
0
)
"
!
!
!
"
@
A
:
! "
#$
! " #
!
!
! " #
@
! "
!
"
#
@
)
+
)*
)*
! " #
, )*
)*
&
)*
&
$ %
&
'
)*
/-
)
*
#
! "
Scanner
+
(
2
2
java.util
C
public double nextDouble()
Scans the next token of the input as a double.
This method will throw InputMismatchException if the next
token cannot be translated into a valid double value.
If the translation is successful, the scanner advances
past the input that matched.
...
Returns:
the double scanned from the input
Throws:
InputMismatchException - if the next token does not match the
Float regular expression, or is out of range
NoSuchElementException - if the input is exhausted
IllegalStateException - if this scanner is closed
//
) 2
)
!
?
- )
8
2
EF
E!
)*
!
D
GD
G?
H
!
8
EG D
EG?
H
H
!
"
@
2
!7
I
EG
2
/(
.
)*
$
(
%
)*
#
'
+
-$
,
'
#
*,
#
.$
01
#
)
0
!
1
"
@
,
/
!)*
,
/
!)*
EJ
I !
>2
K
'
&
'
#
)
#
*
&
#
#
#
'
#
)
)
#
'
!
#
/3
$
%
/M
.
)*
@
0
2
0 45 66 78 !
! "
"
!
)))J
LJ
G?
1
'
@ )
2
8
'
&
! "
3
)
+ > O,
*$
- )
#
#
.$
#
1
! "
G
+
(
)
#
'
&
#,
+
-$
#
'
#
EJ!
'
#
&
'
$ 0
'
J
L))G?
3
1
'
#
! "
#
2
2
)
#
*
! "
'
/
@
'
'
*$
$ 0
)
!(
#
#
+
G
)
(
&
)
!
/N
/A
&
)
1
!
&
:
throws
9
0
&
@
)
8
2
I ! >2
+
>
'
;
&
&
'
))))
E 45 66 78 !
! "
"
!
P
L G?
)))
)
"
"
GD
!
G
8
'
,
&
&
$$$$$$
2
0
@
;
'
&
'
#
E
%
F
#
'
#
H
EG
:
1
throws
9
)
#
"
EF
EP
1
2
R
"
*
)
$
+
#& &
,
-
# EG?
)))
!
&
*
GD
))))
0
'
'
H
"(
"
/:
/Q
'
(
!(
&
!7
!
)
# $
*
!
F
!7
2
2
"
!
<
&
?
&
==
?
"
2
>
"
@
"
?
!'
#
!0 2
!7
/
#
>
(
$
>2 <
#
5
==
>
)
5
==
)
"
!
!0 2
!
&>
# '
2
5
/
2
5
(
2<
#
<
==
#
4
55
?
(-
(/
)
,
>
/
)
leer
!)*
E
+
H
)
,
"
,
&
&
,
.$
/
$
%-
"0
"
&
#
# $
1
%)
*
2
2
#
,
.$
)
*
$
)
*
&
)
"
*
3
)
!
!
4
4
%5
67
)
*
*
%
)
"
$
/
0
leer
!)*
%
%)
*
*
#
/
0
%)
*
)
"
$
%-
.$
/
0
)
*
%)
*
,
%)
*
,
)
*
1
*
,
%-
>
)
"
%
$
,
*
%
$
%)
*
*
$
-
#& &
,
%
# $
)
"
,
"
"
,
,!
$
# +*
#
&
)
"
$
# +*
$
&
%
$
leer
!)*
%
,
#
)
/
leer
!)*
# +*
>
,
/
%
0
!
0
EGD
R
?
!)
)
EJ
, #F ))) J
G?
!)
)
EJ
/
J
G?
!)
)
EJ
(
* '
J
G?
!)
)
EJ
3
J
G?
#R.
/
" $ EG? %
&'&()
*
) 2
RR / G
R
O
EG?
E RR(G
R O*
EG?
E RR3G
R O
EG?
*
?
0
F
F
F
F
>
%
4
+ 2
*
,
4
)
"
(
$
$
% 8$4
4 %)
)
* $
%)
*,
)
)
0
E
G ! "
))))
E 45 66 78 !
G
! "
"
!
8
!
)
- )
8
*
D
EP
1
2
S
P
L G?
0
2
)))
H
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
5
4
0
EF
!
EF
D
F
F
9
;
GD
))))
1
4
0
R
O1
4
0
EG?
System.out.println("Introduzca la posición de la Figura a
recuperar del Grupo");
int indice = LecturaValida.leerInt(teclado);
try{
Figura aRecuperar= g.recuperar(indice);
System.out.println("Recuperada la Figura "+aRecuperar+"
de la posición "+indice+" del Grupo");
} catch(ElementoNoEncontrado e){
System.out.println(e);
}
))))
)
S
0
D
S
!)
!)
R
)
)
)
GD
EJ
TT# U 8
EJ
@
2
EG?
F
5 #1
K J
G?
TTTK J
G?
S
H
(A
*
2
0
D
S
EF
GD
<
>
D
>
R
?
F
!)
)
EJ
@
# EG?
R
) *
E
V-G > O O 2
*
8
>
R
?
!E
I ! >2
/G D
H
F
!)
)
EP
8 >
$!
H
!E 2
*
8
(G D
F
!)
)
EP
8
!
X
W
G?
H
?"!
S
H
0!
)
2
K J
G?
EP
*
W
L
)X
V- EP
L ()
G?
W
G?
I
EGLW
G)
!
$!
,!
!
E"
/
!
YQG
public class Primitiva {
private Integer numeros[];
private int numGuardados;
public Primitiva(){ … }
public void guardaNumero(Integer n)
throws ExepcionNoDuplicado, ExcepcionNoFueraRango,
…
}
}
ExepcionNoDuplicado
ExcepcionNoFueraRango
ExcepcionCompleta
' !
)
'
$!
ExcepcionCompleta
$!
'
$!
&
!
{
! "
$!
!
2
?
!
"
@
public class ImposibleAbrirBD extends Exception {
public ImposibleAbrirBD() { super(); }
public ImposibleAbrirBD(String msg) { super(msg); }
}
public class BaseDeDatos {
public BaseDeDatos(String nombre) { ... }
private void abrir() throws ImposibleAbrirBD { … }
public void inicializar() throws ImposibleAbrirBD {
abrir();
...
}
}
public class TestBaseDeDatos {
public static void main (String args[]) throws ImposibleAbrirBD {
BaseDeDatos bd = new BaseDeDatos(“MiBD”);
bd.inicializar();
}
}F
!
!
5
"
>
@
"
@
!
1
)F
@
2
&
'
"
>
!
)
Descargar