Autor Tema: Clase Math y funciones matemáticas en java round floor ceil ejercicio CU00906C  (Leído 2505 veces)

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
Mi solución al ejercicio CU00906C del curso pdf de programación java avanzada de aprenderaprogramar

Código: [Seleccionar]
package claseCU00906C;

import java.util.Scanner;

public class Ejercicio {
public static void main(String[] args) {
Scanner entradaTeclado = new Scanner(System.in);
double segundos = 0;
boolean continuar = true;
while (continuar ) {
System.out.println("Introduzca valor de segundos: ");
segundos = entradaTeclado.nextInt();
System.out.println("El minuto es el " + (int) Math.ceil(90*segundos/5400));
System.out.print("¿Otro valor (s/n)? " );
if (entradaTeclado.next().charAt(0)!='s') {
continuar = false;
}
}
}
}
« Última modificación: 12 de Agosto 2020, 19:01 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2662
    • Ver Perfil
Buenas, no veo bien resuelto el ejercicio porque el enunciado nos dice "El minuto 1 se considera que abarca desde los 0 segundos hasta los 59 segundos" mientras que el programa nos devuelve esto:

Introduzca valor de segundos:
59
El minuto es el 1
¿Otro valor (s/n)? s
Introduzca valor de segundos:
60
El minuto es el 1
¿Otro valor (s/n)?

Como se puede ver, según lo que se pide, el segundo 60 debería considerarse minuto 2 mientras que el código nos sigue diciendo que es minuto 1.

Salu2

@mayakoski

  • Sin experiencia
  • *
  • Mensajes: 43
    • Ver Perfil
He revisado, y encontré algunas falencias, incluida la observada. Realicé los cambios y dejo el modificado. Gracias por la revisión


Código: [Seleccionar]
package claseCU00906C;

import java.util.Scanner;

public class Ejercicio {
public static void main(String[] args) {
Scanner entradaTeclado = new Scanner(System.in);
double segundos = 0;
boolean continuar = true;
while (continuar ) {
do {
System.out.println("Introduzca valor de segundos: ");
segundos = entradaTeclado.nextInt();
if(segundos <0 || segundos > 5400) {
System.out.println("El numero no es valido");
}
} while (segundos < 0 || segundos > 5400);

if(Math.ceil(90*segundos/5400)%(90*segundos/5400) == 0 && segundos != 5400) {
System.out.println("El minuto es el " + ((int) Math.ceil(90*segundos/5400)+1));
}else {
System.out.println("El minuto es el " + (int) Math.ceil(90*segundos/5400));
}
// System.out.println(Math.ceil(90*segundos/5400)%(90*segundos/5400));

System.out.print("¿Otro valor (s/n)? " );
if (!entradaTeclado.next().equalsIgnoreCase("s")) {
continuar = false;
}
}
System.out.println("Ha terminado el programa");
}
}
« Última modificación: 26 de Octubre 2020, 18:23 por Ogramar »

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".