Está en la página 1de 4

package quiz;

import java.util.Scanner;
public class Main {
public static void main(String[] args){
int programa=0; // variable para seleccionar si tiro o calificacion
System.out.print("Digite 1 para Tiro al blanco o 2 para Calificacion
final: "); //seleccion para el usaurio
Scanner seleccion = new Scanner(System.in);
programa = seleccion.nextInt(); // Punto 3.

if (programa == 1) {// seleccionó tiro al blanco

int puntajeOriginal = 0; // Punto 1.


int puntajeTotal = 0; // Se encargará de almacenar el puntaje
total.
System.out.print("Punto 1, Ingrese Puntaje Inicial: "); // Punto 2.
Scanner datoEntrada = new Scanner(System.in); // Declaración para
poder hacer el Punto 3.
puntajeOriginal = datoEntrada.nextInt(); // Punto 3.
puntajeTotal = TiroAlBlanco.calcularPuntaje(puntajeOriginal); //
Punto 4. Esto es válido porque el método es static
// Variable que almancena el mensaje a mostrar al usuario, esto
para el Punto 5.
String mensaje = "El participante que obtuvo puntaje inicial de " +
puntajeOriginal +", con el factor de ajuste obtuvo un puntaje total de " +
puntajeTotal + ".";
System.out.println(mensaje); // Punto 5.

/* Segundo punto CalificacionFinal - ustedes van a realizar este


ejercicio.
*
* 1. Declarar una variable entera en la cual se almacenara la
calificación inicial.
* 2. Informar al usuario que ingrese el dato por consola.
* 3. Capturar el dato ingresado y almacenarlo en la variable
creada en (1.)
* 4. Invocar el método de CalificacionFinal (calcularDefinitiva)
para que se encargue de realizar el cálculo.
* 5. Con el dato anterior, invocar el método
(mensajeParaDefinitiva) para obtener el mensaje final.
* 6. Imprimir el mensaje tal como se indica en el Output.
*
*/

// Hint: La invocación de un método estático en otra clase se


realiza así:
// Clase.nombreMetodo(parametro)
// TiroAlBlanco.calcularPuntaje(dato)

//una vez hecho el segundo punto, se debe cerrar el flujo de datos:


datoEntrada.close();

}else if (programa == 2) { //selecciono calificacion final


int puntajeOriginal = 0; // Punto 1.
int puntajeTotal = 0; // Se encargará de almacenar el puntaje
total.
System.out.print("Punto 2, Ingrese Calificacion Final: "); // Punto
2.
Scanner datoEntrada = new Scanner(System.in); // Declaración para
poder hacer el Punto 3.
puntajeOriginal = datoEntrada.nextInt(); // Punto 3.
puntajeTotal =
CalificacionFinal.calcularDefinitiva(puntajeOriginal); // Punto 4. Esto es
válido porque el método es static
// Variable que almancena el mensaje a mostrar al usuario, esto
para el Punto 5.
String mensaje =
CalificacionFinal.mensajeParaDefinitiva(puntajeTotal);
System.out.println(mensaje); // Punto 5.

//una vez hecho el segundo punto, se debe cerrar el flujo de datos:


datoEntrada.close();

}else if (programa <1 || programa >2) { // si no selecciona ninguna


opción
System.out.println("No ha seleccionado ninguna opcion valida.");
}

seleccion.close();

}
}

TiroAlBlanco

package quiz;

public class TiroAlBlanco {


public static int calcularPuntaje(int puntajeInicial) {

//TODO Este método presentaba un error, les recomiendo lean el


error en la otra clase al poner el puntero del mouse sobre la X en la parte
izquierda.
// Deben quitar ese error y posteriormente usar los condicionales
necesarios para efectuar el cálculo.

//A continuación el desarrollo:

/*
* 1. Declarar una variable de tipo entero para que almacene el
resultado del if y posteriormente retornar dicho valor.
* 2. Crear los condicionales de acuerdo a la tabla del
planteamiento.
* 3. En cada condición hacer lo que se enuncia: "... el puntaje
original (0-10) obtenido por cada participante, multiplicando dicho resultado
por un factor de ajuste."
* 4. Como la firma del método indica que el retorno es un dato
entero, entonces retornamos la variable entera que almacena el resultado.
*
* Tengan presente que todo esto es dentro de un método:
* public static int calcularPuntaje(int puntajeInicial) { }
*
* visibilidad modificador tipoDeDatoDeRetorno nombreDelMetodo
(parámetro)
* public static int
calcularPuntaje (int puntajeInicial)
*/

int puntajeTotal = 0;

if (puntajeInicial == 0) {
puntajeTotal = puntajeInicial * 0;
} else if (puntajeInicial >= 1 && puntajeInicial <= 5 ) {
puntajeTotal = puntajeInicial * 6;
} else if (puntajeInicial >= 6 && puntajeInicial <= 8 ) {
puntajeTotal = puntajeInicial * 9;
} else if (puntajeInicial >= 9 && puntajeInicial <= 10 ) {
puntajeTotal = puntajeInicial * 10;
}

return puntajeTotal;

}//end calcularPuntaje

CalificacionFinal.

package quiz;

public class CalificacionFinal {


public static int calcularDefinitiva(int calificacionInicial) {

int puntajeTotal = 0;

if (calificacionInicial == 0) {
puntajeTotal = calificacionInicial * 0;
} else if (calificacionInicial >= 1 && calificacionInicial <= 2 ) {
puntajeTotal = calificacionInicial * 4;
} else if (calificacionInicial >= 3 && calificacionInicial <= 4 ) {
puntajeTotal = calificacionInicial * 5;
} else if (calificacionInicial == 5 ) {
puntajeTotal = calificacionInicial * 6;
} else if (calificacionInicial >= 6 && calificacionInicial <= 7 ) {
puntajeTotal = calificacionInicial * 7;
} else if (calificacionInicial == 8 ) {
puntajeTotal = calificacionInicial * 8;
} else if (calificacionInicial == 9 ) {
puntajeTotal = calificacionInicial * 9;
} else if (calificacionInicial == 10 ) {
puntajeTotal = calificacionInicial * 10;
}

return puntajeTotal;

}//end

public static String mensajeParaDefinitiva(int definitiva) {

String mensaje="";

if (definitiva >= 0 && definitiva <= 12 ) {


mensaje = "Considere otra alternativa";
} else if (definitiva >= 13 && definitiva <= 35 ) {
mensaje = "Wake up and smell the coffee";
} else if (definitiva >= 36 && definitiva <= 60 ) {
mensaje = "Mérito aceptable";
} else if (definitiva >= 61 && definitiva <= 80 ) {
mensaje = "Necesita estudiar más";
} else if (definitiva >= 81 && definitiva <= 99 ) {
mensaje = "Buen resultado";
} else if (definitiva == 100 ) {
mensaje = "Excelente";
}

return mensaje;

}//end