1
De todo un poco... / como cambiar formatos de horas?(reedición)
« en: 25 de Noviembre 2022, 19:50 »
Hola comunidad.
Anteriormente, ya había publicado un problema con la misma pregunta, pero me percaté que hice la pregunta mal e incompleta.
Realmente necesito ayuda al momento que quiero imprimir el caso 6 me da error:
case 6:
ingreso.impHora24(String str);
break;
Realmente no se que estoy haciendo mal.
Adjunto el código completo...
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package p33;
import java.util.Scanner;
/**
*
* @author user
*/
public class P33 {
int hora;
int minutos;
int segundos;
public P33() {
hora = 0;
minutos = 0;
segundos = 0;
}
public P33(int hora, int minutos, int segundos) {
this.hora = hora;
this.minutos = minutos;
this.segundos = segundos;
}
public int getHora() {
return hora;
}
public int getMinutos() {
return minutos;
}
public int getSegundos() {
return segundos;
}
public void setHora(int hora) {
this.hora = hora;
}
public void setMinutos(int minutos) {
this.minutos = minutos;
}
public void setSegundos(int segundos) {
this.segundos = segundos;
}
public void horaValida(){
if ((hora>=0 && hora<=24) && (minutos>=0 && minutos<=59) && (segundos>=0 && segundos<=60)){
System.out.println("La hora esta correctamente ingresada");
}else {
System.out.println("La hora no esta ingresada correctamente");
}
}
public void incrementarHora24(){
hora = hora+1;
if (hora>=0 && (hora<24)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
hora = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
public void impHora12(){
if (hora>=1 && (hora<12)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+" en formato 12 horas");
}else {
hora = hora-12;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+" formato 12 horas");
}
}
public static void impHora24(String str){
// Get hours
int h1 = (int)str.charAt(1) - '0';
int h2 = (int)str.charAt(0) - '0';
int hh = (h2 * 10 + h1 % 10);
// If time is in "AM"
if (str.charAt( == 'A')
{
if (hh == 12)
{
System.out.print("00");
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
else
{
for (int i = 0; i <= 7; i++)
System.out.print(str.charAt(i));
}
}
// If time is in "PM"
else
{
if (hh == 12)
{
System.out.print("12");
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
else
{
hh = hh + 12;
System.out.print(hh);
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
}
}
public void incrementarMinutos(){
minutos = minutos+1;
if (minutos>=0 && (minutos<60)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
minutos = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
public void incrementarSegundos(){
segundos = segundos+1;
if (segundos>=0 && segundos<60){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
segundos = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int hora, minutos, segundos, opc;
P33 ingreso = new P33();
Scanner sc = new Scanner(System.in);
do{
System.out.println("\n1) ingresar la hora");
System.out.println("2) validar hora");
System.out.println("3) incrementar una hora");
System.out.println("4) incrementar un minuto");
System.out.println("5) incrementar un segundo");
System.out.println("6) imprimir hora en formato militar");
System.out.println("7) imprimir hora en formato 12 horas");
System.out.println(" Salir ");
opc = sc.nextInt();
switch (opc) {
case 1:
System.out.println("ingrese la hora");
hora = sc.nextInt();
System.out.println("ingrese los minutos");
minutos = sc.nextInt();
System.out.println("ingrese los segundos");
segundos = sc.nextInt();
ingreso.setHora(hora);
ingreso.setMinutos(minutos);
ingreso.setSegundos(segundos);
break;
case 2:
ingreso.horaValida();
break;
case 3:
ingreso.incrementarHora24();
break;
case 4:
ingreso.incrementarMinutos();
break;
case 5:
ingreso.incrementarSegundos();
break;
case 6:
ingreso.impHora24(String str);
break;
case 7:
ingreso.impHora12();
break;
}
} while(opc!=8);
}
}
Anteriormente, ya había publicado un problema con la misma pregunta, pero me percaté que hice la pregunta mal e incompleta.
Realmente necesito ayuda al momento que quiero imprimir el caso 6 me da error:
case 6:
ingreso.impHora24(String str);
break;
Realmente no se que estoy haciendo mal.
Adjunto el código completo...
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package p33;
import java.util.Scanner;
/**
*
* @author user
*/
public class P33 {
int hora;
int minutos;
int segundos;
public P33() {
hora = 0;
minutos = 0;
segundos = 0;
}
public P33(int hora, int minutos, int segundos) {
this.hora = hora;
this.minutos = minutos;
this.segundos = segundos;
}
public int getHora() {
return hora;
}
public int getMinutos() {
return minutos;
}
public int getSegundos() {
return segundos;
}
public void setHora(int hora) {
this.hora = hora;
}
public void setMinutos(int minutos) {
this.minutos = minutos;
}
public void setSegundos(int segundos) {
this.segundos = segundos;
}
public void horaValida(){
if ((hora>=0 && hora<=24) && (minutos>=0 && minutos<=59) && (segundos>=0 && segundos<=60)){
System.out.println("La hora esta correctamente ingresada");
}else {
System.out.println("La hora no esta ingresada correctamente");
}
}
public void incrementarHora24(){
hora = hora+1;
if (hora>=0 && (hora<24)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
hora = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
public void impHora12(){
if (hora>=1 && (hora<12)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+" en formato 12 horas");
}else {
hora = hora-12;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+" formato 12 horas");
}
}
public static void impHora24(String str){
// Get hours
int h1 = (int)str.charAt(1) - '0';
int h2 = (int)str.charAt(0) - '0';
int hh = (h2 * 10 + h1 % 10);
// If time is in "AM"
if (str.charAt( == 'A')
{
if (hh == 12)
{
System.out.print("00");
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
else
{
for (int i = 0; i <= 7; i++)
System.out.print(str.charAt(i));
}
}
// If time is in "PM"
else
{
if (hh == 12)
{
System.out.print("12");
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
else
{
hh = hh + 12;
System.out.print(hh);
for (int i = 2; i <= 7; i++)
System.out.print(str.charAt(i));
}
}
}
public void incrementarMinutos(){
minutos = minutos+1;
if (minutos>=0 && (minutos<60)){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
minutos = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
public void incrementarSegundos(){
segundos = segundos+1;
if (segundos>=0 && segundos<60){
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}else {
segundos = 0;
System.out.println("La hora nueva es: "+hora+":"+minutos+":"+segundos+"hora militar");
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int hora, minutos, segundos, opc;
P33 ingreso = new P33();
Scanner sc = new Scanner(System.in);
do{
System.out.println("\n1) ingresar la hora");
System.out.println("2) validar hora");
System.out.println("3) incrementar una hora");
System.out.println("4) incrementar un minuto");
System.out.println("5) incrementar un segundo");
System.out.println("6) imprimir hora en formato militar");
System.out.println("7) imprimir hora en formato 12 horas");
System.out.println(" Salir ");
opc = sc.nextInt();
switch (opc) {
case 1:
System.out.println("ingrese la hora");
hora = sc.nextInt();
System.out.println("ingrese los minutos");
minutos = sc.nextInt();
System.out.println("ingrese los segundos");
segundos = sc.nextInt();
ingreso.setHora(hora);
ingreso.setMinutos(minutos);
ingreso.setSegundos(segundos);
break;
case 2:
ingreso.horaValida();
break;
case 3:
ingreso.incrementarHora24();
break;
case 4:
ingreso.incrementarMinutos();
break;
case 5:
ingreso.incrementarSegundos();
break;
case 6:
ingreso.impHora24(String str);
break;
case 7:
ingreso.impHora12();
break;
}
} while(opc!=8);
}
}