我是这个java的新手,我刚开始上课,他们给我们发了这个练习:
练习 3
设计一个
Reloj
具有整数属性的被调用类:hora
(24 小时),minuto
和segundo
,以及以下方法:将属性初始化为作为参数传递的值的构造函数。
一种称为 Increment 的方法,可将时间增加一秒。
例如:
17:53:59
将会17:54:00
17:59:59
将会18:00:00
4.一种称为Decrement的方法,将时间减少一秒。
例如:
17:53:00
将会17:52:59
17:00:00
将会16:59:59
Hora12
5.通过连接其属性转换为String
时间并返回 12 小时格式的字符串 ( hh:mm:ss AM/PM
)调用的方法
上午:(直到中午 12 点),下午(从 12 到 24 小时)
这是我的代码,类Reloj
:
public class Reloj {
int modo,hora, minutos,segundos;
int getmodo(){
return modo;
}
public void setmodo(int modo){
this.modo=modo;
}
int gethora(){
return hora;
}
public void sethora(int hora){
this.hora=hora;
}
public int getminutos(){
return minutos;
}
public void setminutos(int minutos){
this.minutos=minutos;
}
public int getsegundos(){
return segundos;
}
public void setsegundos(int segundos){
this.segundos=segundos;
}
public Reloj(){
modo=24; /*por defecto ponemos 24horas*/
hora=0;
minutos=0;
segundos=0;
}
public Reloj( int h, int m, int s){
this.modo=24;
this.hora=h %24;
this.minutos=m % 60;
this.segundos=s % 60;
}
public void ponerEnHora(int md, int hh, int mm, int ss){
modo=md;
hora=hh % 24;
minutos=mm % 60;
segundos=ss % 60;
}
public void incrementar(){
segundos++;
if (segundos==60){
segundos=0;
minutos++;
if(minutos==60){
minutos=0;
hora=(hora+1)%24;
}
}
}
public void decrementa(){
segundos--;
if(segundos<00){
segundos=59;
minutos--;
if(minutos<00){
minutos=59;
hora=(hora-1) %24;
}
}
}
public String verHora(){
String hms="Son las ";
if (modo==12){//modo 12 horas
hms+=(hora>12)?hora-12:hora;
hms+= ":"+minutos+":"+segundos;
hms+=(hora>=12)?"pm":"am";
}else{//modo 24h
hms+=hora+":"+minutos+":"+segundos;
}
return (hms);
}
}
时钟类主要:
public class Relojes {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Reloj reloj1 = new Reloj();
reloj1.ponerEnHora(24,17,10,10);
System.out.println(reloj1.verHora());
reloj1.incrementar();
System.out.println(reloj1.verHora());
reloj1.decrementa();
System.out.println(reloj1.verHora());
}
}
我不知道 12H 模式下的时间,其他一切正常,但是用 AM 或 PM 打印 12h 模式对我不起作用,让我们看看你能不能帮帮我。
剩下的就是调用 Clock 类的 setModo 方法并给它 12