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: @mayakoski en 04 de Diciembre 2019, 00:50
-
Mi solución al ejercicio CU00906C del curso pdf de programación java avanzada de aprenderaprogramar
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;
}
}
}
}
-
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
-
He revisado, y encontré algunas falencias, incluida la observada. Realicé los cambios y dejo el modificado. Gracias por la revisión
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");
}
}