domingo, 31 de octubre de 2010

Deitel_Java_4.24 (Recibir califcaciones en java)

_____________________________________________________________________________________
4.24 Modifique el programa de la figura 4.12 para validar sus entradas.Para cualquier entrada, si el valor introducido es distinto de 1 o 2, debe seguir iterando hasta que el usuario introduzca un valor correcto.
_____________________________________________________________________________________
SOLUCIÓN:
Como la mayoría de los problemas de este capítulo, éste es fácil. Se lleva la contabilidad de los alumnos aprobados y reprobados mediante instrucciones if. Al final, si más de 8 han aprobado, se imprime el mensaje "Aumentar la colegiatura".
El siguiente código debe guardarse con el nombre UsaDeitel_4_24.java

public class UsaDeitel_4_24

{ // Abre la clase
public static void main(String args[])
{ // Abre main
Deitel_4_24 aplicacion = new Deitel_4_24();
aplicacion.procesarResultadosExamen();
} // Cierra main
} // Cierra la clase 

El siguiente código debe guardarse con el nombre Deitel_4_24.java

import java.util.Scanner;

public class Deitel_4_24

{ // Abre clase

public void procesarResultadosExamen()
{ // Abre procesarResultadosExamen

Scanner entrada = new Scanner(System.in);
int aprobados = 0;
int reprobados = 0;
int contadorEstudiantes = 1;
int resultado;

while (contadorEstudiantes <= 10)
{ // ABre while
System.out.println("\nEscriba el resultado (1 = aprobado, 2 = reprobado)");
resultado = entrada.nextInt();

if ( 1 == resultado)
aprobados = aprobados + 1;
else
reprobados = reprobados + 1;

contadorEstudiantes = contadorEstudiantes + 1;
} // cierra while

System.out.printf("\nAprobados: %d\nReprobados: %d\n", aprobados, reprobados);

if (aprobados > 8)
System.out.println("\nAumentar colegiatura.");

} // Cierra el metodo procesarResultadosExamen
} //Cierra clase

_____________________________________________________________________________________
Esta entrada es parte de los problemas resueltos del libro Java. Cómo Prgramar de P. Deitel y H. Deitel
Entrada Anterior
Entrada Siguiente

5 comentarios:

  1. el ejercicio es una copia del 4.12 en el 4.24 tienes que poner una condición antes de que le pida la información al usuario para que solo pueda ingresarlos números 1 y 2 , esta mal tu ejemplo

    ResponderEliminar
  2. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  3. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  4. Scanner S = new Scanner ( System.in );

    int resultado = 0;
    int aprobados = 0;
    int reprobados = 0;
    int contadorEstudiantes = 0;
    int repetir = 5;

    while ( contadorEstudiantes < 10 ){
    while ( repetir != 0 ){
    System.out.printf("Examen %d Introduce 1 para aprobados o 2 para los reprobados: ", contadorEstudiantes+1);
    resultado = S.nextInt();


    if ( resultado == 1){
    repetir = 0;
    }else if ( resultado == 2){
    repetir = 0;
    }

    }

    if ( resultado == 1)
    aprobados++;
    else
    reprobados++;

    contadorEstudiantes++;
    repetir = 5;
    }

    ResponderEliminar
  5. /*4.24 (Validar la entrada del usuario) Modifique el programa de la figura 4.12 para
    * validar sus entradas. Para cualquier entrada, si el valor introducido es distinto de
    * 1 o 2, debe seguir iterando hasta que el usuario introduzca un valor correcto.
    */

    // Fig. 4.12: Analisis.java
    // Analisis de los resultados de un examen, utilizando instrucciones de control anidadas.
    import java.util.Scanner; // esta clase utiliza la clase Scanner

    public class Ejercicio0424
    {
    public static void main( String[] args )
    {
    // crea objeto Scanner para obtener la entrada de la ventana de comandos
    Scanner entrada = new Scanner( System.in );

    // inicialización de las variables en declaraciones
    int aprobados = 0; // número de aprobados
    int reprobados = 0; // número de reprobados
    int contadorEstudiantes = 1; // contador de estudiantes
    int resultado; // un resultado del examen (obtiene el valor del usuario)

    // procesa 10 estudiantes, usando ciclo controlado por contador
    while ( contadorEstudiantes <= 10 )
    {
    // pide al usuario la entrada y obtiene el valor
    System.out.print( "Escriba el resultado (1 = aprobado, 2 = reprobado): " );
    resultado = entrada.nextInt();
    while((resultado!=1)&&(resultado!=2)){
    System.out.println("Opción errónea");System.out.print( "Escriba el resultado (1 = aprobado, 2 = reprobado): " );
    resultado = entrada.nextInt();
    }
    // if...else anidado en la instrucción while
    if ( resultado == 1 ) // si resultado 1,
    aprobados = aprobados + 1; // incrementa aprobados;
    else // de lo contrario, resultado no es 1, por lo que
    reprobados = reprobados + 1; // incrementa reprobados

    // incrementa contadorEstudiantes, para que el ciclo termine en un momento dado
    contadorEstudiantes = contadorEstudiantes + 1;
    } // fin de while

    // fase de terminación; prepara y muestra los resultados
    System.out.printf( "Aprobados: %d\nReprobados: %d\n", aprobados, reprobados );

    // determina si más de 8 estudiantes aprobaron
    if ( aprobados > 8 )
    System.out.println( "Bono para el instructor!" );
    } // fin de main
    } // fin de la clase Analisis

    /**************************************************************************
    * (C) Copyright 1992-2012 por Deitel & Associates, Inc. y *
    * Pearson Education, Inc. Todos los derechos reservados. *
    * *
    * RENUNCIA: Los autores y el editor de este libro han realizado su mejor *
    * esfuerzo para preparar este libro. Esto incluye el desarrollo, la *
    * investigación y prueba de las teorías y programas para determinar su *
    * efectividad. Los autores y el editor no hacen ninguna garantía de *
    * ningún tipo, expresa o implícita, en relación con estos programas o *
    * con la documentación contenida en estos libros. Los autores y el *
    * editor no serán responsables en ningún caso por los daños consecuentes *
    * en conexión con, o que surjan de, el suministro, desempeño o uso de *
    * estos programas. *
    *************************************************************************/

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...