! ! " " ! # $ " " ! " & " ' % " ( ( # *) + ! " ! " ( " '$) ), !) ) " , ) ' ---) public class TestSituacionesInesperadas { private static Scanner teclado=new Scanner(System.in).useLocale(LocaleEDA); / 0) 1 ! 0)0$ 0) 2" 3 0). 2 ( # ! " # $ # 3 ! " )0% ) 4 " # $ ! ! 1 4 ) 5 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.- Mostrar las Figuras del Grupo"); System.out.println("5.- Calcular el área del Grupo"); System.out.println("6.- Ordenar el Grupo por área \n"); System.out.println("0 - Salir"); System.out.print("Seleccione opción: "); res = teclado.nextInt(); return res; } " & ! ) )0 ) ) ' 3 ! % % " # " # ( "( 6 #7 ! # 8 ( 8 9 -)):;< . private static void procesar(int opcion, ArrayGrupoDeFiguras g) { switch (opcion) { 6# 7 % case 1: Figura f = seleccionarFiguraALeer(); 6# 7 # f.leer(teclado); 4 < g.insertar(f); < break; case 2: Figura fB = seleccionarFiguraALeer(); 6# 7 1 fB.leer(teclado); 8 ( System.out.println("Buscando la Figura "+fB); 4 < int p = g.buscar(fB); System.out.println(“1ªapar.de "+fB+”:”+g.recuperar(p).toString()); break; case 3: Figura fD = seleccionarFiguraALeer(); fD.leer(teclado); 6# 7 System.out.println("Borrando "+fD); Figura fDD = g.borrar(fD); 8 ( 1 4 < System.out.println("Borrada "+fD+" del Grupo: "+fDD.toString()); case case case case 4: 5: 6: 7: break; System.out.println(g.toString()); break; System.out.println("Área total :"+g.area()); break; g.ordenar(); break; System.out.println(“Posición de la Figura a recuperar del Grupo"); 6# 7 int i = teclado.nextInt(); Figura fR = g.recuperar(i);6# 7 # 8 System.out.println("Recuperada la Figura de la ! <"+fR+" ( 4 posición < "+i); } } private static void procesar(int opcion, ArrayGrupoDeFiguras g) { private static Figura seleccionarFiguraALeer(){ Figura res = null; System.out.println("Para leer Figura PULSE:"); System.out.println("1 para Círculo"); System.out.println("2 para Rectángulo"); System.out.println("3 para Cuadrado"); int op = 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 9 0)).;< 8 ( 1 ! 5 1 > " ' ! " (@ , ! ! ' ! 3 ! ' "7 1 " ? ) # 4 # 3 " ') ) " " ! ' A " # ! A ' A ! B ) )B ! ! ( ? A' " # ' " " 1 ! # " ! ' ( ! " " " " # ! A = C ! " #$ " # $ " " " # $ A " # ! " # A " # $ ) * $% & & D + $ Scanner ) ( 0- " # 3 java.util E 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 00 ! 3 3 @> > , " 8 G" $ 3 GH F " IF I@ J > > " 8 GI F GI@J J 0 ' + . ( # ' -$ 0 ) ' *$ + , # ' # .$ ' # / ) 0 + , *$ ' ) #1 -$ ' ) #1 .$ ' ) #1 ( "# "# $ $ ( "# ( ) # . ( / # ' ) ) ' 2 ) # ( & 0 ' *- ' ) ) # ' 0. % 0K & % & $0 A ' * 23 $ " " # 2 # $0 " # A * 1 " $ 4 * 4 1 " GM N " ?3 ' & ' # O M P))I@ $ " # ) # # # ' 2 23 " # 5 3 ' A ' 3 ' " # 4 4 # " A - 8 GM" ' ' & ) # # ' $ # ' " # 'G ) " I 0L . ) + " + ? Q, #, + -$ .$ A 1 7 6 ' ' I $$$$$$ 2 "( # # 1 " # + ( 3 2 8 ( # throws 5 # *$ 0: ' ' + 1 # I ) M I@ # # ) ) )))M P 1 )))) G3 I " # # ))) ( & G1 " J 0= IF 8 ! GM" " % ) " " ))) M P ! & " " ' "0( C I@ throws 5 "7 + 3 N " ?3 + ? GI H A # " ) $ % * " H "7 3 3 ' , 6 7 ' 3 ' # ) # IF R ) @ ' # 3 ? # " ) '? # A # " ' * GH "( "7 $ + )))) # " #& & , - $ GI@ ))) J 0D ' ( - "( + 1 * / leer " S 8 99 : # ' "2 3 99 : 5 # 99 3 3 5 3 5 0 H H 48 # ") ") R F IF GM TT$ U 8 GM A 3 $ %GI@ & ) ) # ) S * + J 8 99 1 S GH / 5 # $ 0 /4 8 # "2 3 / ) H 5 $2 O M I@ TTTO M I@ ' ( $ - #& & , # : 0 + + / * 1 $ * leer " & 1 # $ * $ &' ( , * * &. # + ' " / * 0 1 2 # . ' ( * # &' ( + * * ( " " - ' " + " & # )( & * leer " ' " # )* )( " / &3 / 4 5. 6 & * ( + +! & &. &' ( ' ( ( + &' ( , * * ' (+ + $ ( / * - ' " 1 2 . ' ( + + / * 1 leer " ( ( 2 $ 1& )( # )* ". " # * & $ 7) ' ! # * ( &. &' ( - ' " / * * &' ( &' (' 1. ' ( # ( + / + 0 -( ( + + - 1 )))) G3 I " # # ))) G1 I " # " 8 " 8 GM" F ))) M P I@ J BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 5 4 1 GH " )))) 2 1 H 4 ") F 1 H J ?G H J )))) 1 R 9 ; IF Q GM O ) ") F R ) " 8 ") ) Q2 GI@ 4 4 R ) GM O G GI@ I@ I@ " IF GM O M P I@ 1 M P 2 "# ( ! , * * # &' ( & & ( ( # + ' " # )))I@ "# ' / 3 " 3 3 6 ( "# * ) / 74 3 % 4 ' 4 $ 1 ) 5 ' #