- Escribir un programa que lea la hora de un día en notación de 24 horas, y dé una respuesta en notación de 12 horas. Ejemplo: Entrada 13:45 Salida 01:45 PM
- import cs1.*;
- public class ejerc11
- {
- public static void main (String[] args)
- {
- //Variables
- String hora, numeros = "0123456789", minutos = "0";
- int longhora = 0, horas = 0, hora2;
- char h1, h2, b1, m1, m2;
- boolean error;
- //Introduci—n de datos
- System.out.println("Introduce una hora con el siguiente formato: hh:mm : ");
- hora = Keyboard.readString();
- //Definici—n del formato hora
- longhora = hora.length();
- if (longhora != 5)
- {
- System.out.print("La hora no tiene el formato correcto.");
- }
- else
- {
- b1 = hora.charAt(2); //Posici—n de los puntos
- if ((b1 != ':'))
- {
- System.out.print("La hora no tiene el formato adecuado");
- }
- else
- {
- h1 = hora.charAt(0);
- h2 = hora.charAt(1);
- b1 = hora.charAt(2);
- m1 = hora.charAt(3);
- m2 = hora.charAt(4);
- minutos = hora.substring(3,5);
- error = ((numeros.indexOf(h1) < 0) || (numeros.indexOf(h2) < 0) ||
- (numeros.indexOf(m1) < 0) || (numeros.indexOf(m2) < 0));
- if (error)
- System.out.print("Los nœmeros no pueden ser negativos");
- else
- {
- horas = Integer.valueOf(hora.substring(0,2)).intValue();
- System.out.println("\n La hora introducida es: " + horas + ":" + minutos);
- }
- }
- //Muestra la hora convertida
- hora2 = horas - 12;
- if (horas > 12) {
- System.out.println( "La hora convertida es: " + hora2 + ":" + minutos + " PM" );
- }
- }
- if ( horas < 12){
- if (horas == 0) {
- System.out.println( "La hora convertida es: 12:" + minutos + " AM");
- }
- else{
- System.out.println( "La hora convertida es: " + horas + ":" + minutos + " AM" );
- }
- }
- if (horas > 25){
- System.out.println( "La hora introducida es incorrecta!" );
- }
- }
- }
No hay comentarios:
Publicar un comentario