java 时间获得正确结果的问题
发布时间:2022-09-06 17:54:15 379
相关标签: # php
因此,我在获取这个java问题的正确输出时遇到了一个问题。
public class GetTime {
/**/
public static void main ( String [] arg ) {
/**/
int option;
Time t;
/**/
System.out.println();
option=option();
/**/
if ( option == 1 ) t=new Time();
else t=new Time12();
/**/
System.out.println();
System.out.println(t);
/**/
return;
}
/**/
private static int option () {
/**/
int rv;
ConsoleInput ci;
/**/
ci=new ConsoleInput();
System.out.println(" Enter option:");
System.out.println("1 = 24-hour clock");
System.out.println("2 = 12-hour clock");
while ( true ) {
rv=ci.readInt(" option = ? ");
if ( ( rv == 1 ) || ( rv == 2 ) ) break;
}
ci.close();
/**/
return rv;
}
}
这种编码只是运行文件。当我选择选项1时,结果是24小时格式的当前时间。当我选择选项2时,结果是12小时格式的当前时间。
import java.util.Calendar;
/**/
public class Time {
/**/
private int hour, minute, second;
/**/
public Time () {
init();
}
/*
* 0, 1, ... , 23
*/
public int getHour () {
return hour;
}
/**/
public int getMinute () {
return minute;
}
/**/
public int getSecond () {
return second;
}
/**/
public String toString () {
return i2s(hour) + ":" + i2s(minute) + ":" + i2s(second);
}
/*
* i = 0 , 1 , ... , 59
* return "00", "01", ... , "59"
*/
public static String i2s ( int i ) {
return String.format("%02d",i);
}
/**/
private void init () {
/**/
Calendar c;
/**/
c=Calendar.getInstance();
hour=c.get(Calendar.HOUR_OF_DAY);
minute=c.get(Calendar.MINUTE);
second=c.get(Calendar.SECOND);
/**/
return;
}
}
我有一个扩展了我的编码的文件。
pubic class Time12 extends Time {
public Time12 () {
super();
}
@Override
pubic String toString () {
int h12, h24;
h24=getHour();
if ( h24 == 12 ) h12=0;
else h12=h24;
return Time.i2s(h12) + ":" + Time.i2s(getMinute()) + ":" + Time.i2s(getSecond());
}
基本上,我的问题是,我必须同时使用24小时和12小时的时钟来运行它。代码已经自动使用了24小时时钟,我只需要做一个12小时的时钟。当我尝试使用选项1和2运行它时,它们只使用24小时时钟运行。
我要再声明一次吗?我是否要将else语句更改为其他语句?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报