Mostrando entradas con la etiqueta Convertir el formato de una hora. Mostrar todas las entradas
Mostrando entradas con la etiqueta Convertir el formato de una hora. Mostrar todas las entradas

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