Convertir el formato de una hora


- 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

  1. import cs1.*;
  2.  
  3.    public class ejerc11
  4.    {
  5.       public static void main (String[] args)
  6.       {
  7.       //Variables
  8.          String hora, numeros = "0123456789", minutos = "0";
  9.          int longhora = 0, horas = 0, hora2;
  10.          char h1, h2, b1, m1, m2;
  11.          boolean error;
  12.        
  13.       //Introduci—n de datos
  14.          System.out.println("Introduce una hora con el siguiente formato:  hh:mm : ");
  15.          hora = Keyboard.readString();
  16.            
  17.       //Definici—n del formato hora  
  18.          longhora = hora.length();
  19.          if (longhora != 5)
  20.          {
  21.             System.out.print("La hora no tiene el formato correcto.");
  22.          }
  23.          else
  24.          {
  25.             b1 = hora.charAt(2); //Posici—n de los puntos
  26.          
  27.             if ((b1 != ':'))
  28.             {
  29.                System.out.print("La hora no tiene el formato adecuado");
  30.             }
  31.             else
  32.             {
  33.                h1 = hora.charAt(0);
  34.                h2 = hora.charAt(1);
  35.                b1 = hora.charAt(2);
  36.                m1 = hora.charAt(3);
  37.                m2 = hora.charAt(4);
  38.                minutos = hora.substring(3,5);        
  39.                error = ((numeros.indexOf(h1) < 0) || (numeros.indexOf(h2) < 0) ||
  40.                         (numeros.indexOf(m1) < 0) || (numeros.indexOf(m2) < 0));
  41.                if (error)        
  42.                   System.out.print("Los nœmeros no pueden ser negativos");
  43.                else
  44.                {
  45.                   horas = Integer.valueOf(hora.substring(0,2)).intValue();
  46.                   System.out.println("\n La hora introducida es: " + horas + ":" + minutos);
  47.                }
  48.             }
  49.           //Muestra la hora convertida
  50.             hora2 = horas - 12;
  51.            
  52.             if (horas > 12) {
  53.                System.out.println( "La hora convertida es: " + hora2 + ":" + minutos + " PM" );
  54.             }
  55.          }
  56.          if ( horas < 12){
  57.             if (horas == 0) {
  58.                System.out.println( "La hora convertida es: 12:" + minutos + " AM");
  59.             }
  60.             else{
  61.                System.out.println( "La hora convertida es: " + horas + ":" + minutos + " AM" );
  62.             }
  63.          }
  64.          if (horas > 25){
  65.             System.out.println( "La hora introducida es incorrecta!" );
  66.          }
  67.       }
  68.    }

No hay comentarios:

Publicar un comentario