Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: paramonso en 29 de Noviembre 2018, 19:06

Título: Java programa que calcule el minuto de juego de un partido de fútbol CU00906C
Publicado por: paramonso en 29 de Noviembre 2018, 19:06
Hola dejo el ejercicio del tutorial pdf de Java avanzado CU00906C Clase Math api Java. Funciones matemáticas (trigonométricas, log, etc.) Redondeo round, floor, ceil

Citar
EJERCICIO

Supón que un partido de fútbol tiene una duración de 90 minutos. El minuto 1 se considera que abarca desde los 0 segundos hasta los 59 segundos. El minuto 2 abarca desde los 60 segundos hasta los 119 segundos. Así sucesivamente hasta el último minuto, que es el minuto 90 y abarca desde los 5340 segundos hasta los 5400 segundos. Crea un programa que pida al usuario el número de segundos transcurridos y mediante el uso de alguna función de redondeo (floor, ceil ó round) de la clase Math muestre el minuto en que nos encontramos. El programa debe pedir valores de segundos hasta que el usuario decida terminar.
Ejemplo de ejecución.
introduzca valor de segundos: 32
El minuto es el 1
¿Otro valor (s/n)? s
Introduzca valor de segundos: 2595
El minuto es el 44
¿Otro valor (s/n)? n
 

Código: [Seleccionar]
import java.util.Scanner;

public class Redondeo
{
    public static String entradaUsuario="";
    public static void main(String arg[ ]) {
        double segundos=0.0;
        boolean fin=true;
        int minutos=0;
        Scanner entrada=new Scanner(System.in);
        do{
             System.out.print("Introduzca un valor en segundos: ");
            segundos=Double.valueOf (validarNumero(entrada));
            if(segundos <0 || segundos>5400){
                System.out.print("introduzca un numero entre 0 y 5400\n");

            }
            else{
                minutos=((int)Math.ceil(segundos)/60)+1;
                if(minutos>90){minutos=90;}
                 System.out.print("Estamos en el minuto: "+minutos+"\n\n");
            };
            System.out.print("PULSE INTRO PARA CONTINUAR !!!\n( Cualquier otra tecla mas intro Finalizar)");
            entradaUsuario=entrada.nextLine();
            System.out.print('\u000C');
            fin=entradaUsuario.equals("");
        }while(fin);
    }
    //Bucle para validar que solo se escriban numeros por teclado
    public static String validarNumero(Scanner entrada){
        int num=0;
        boolean ok=false;
        do{

            entradaUsuario= entrada.nextLine();
            //Comprobar que sea un numero entero
            if (entradaUsuario.length()<=8){
                if (isNumeric(entradaUsuario) == true) {
                    ok=true;
                }
                else{
                    System.out.print('\u000C');
                    System.out.print("Solo se admiten numeros\n");
                    entradaUsuario="";
                }

            }else{
                System.out.print('\u000C');
                System.out.print("Y el DNI no debe de exceder de 8 digitos");
                entradaUsuario="";
            }

        } while (!ok);
        return entradaUsuario;
    }

    public static boolean isNumeric(String str) {//Validacion numeros
        return (str.matches("[+-]?\\d.*[0-9]?") && str.equals("")==false);
    }
}
Gracias ;)
Título: Re:Java programa que calcule el minuto de juego de un partido de fútbol CU00906C
Publicado por: Ogramar en 15 de Agosto 2019, 20:51
Buenas, para quien revise este ejercicio, aquí parece haberse confundido el código con código de otro ejercicio ya que aparece <<System.out.print("Y el DNI no debe de exceder de 8 digitos");>> cuando el ejercicio relativo a DNIs era otro anterior.

Puede consultarse una solución correcta para este ejercicio en https://aprenderaprogramar.com/foros/index.php?topic=4763.0

Salu2