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
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
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