Java 编程题,定义一个时钟类(Clock)

要求如下:
1.存储时钟的时hour(0-23)、分minute(0-59)、秒second(0-59);
2.创建新对象时默认为0时0分0秒;
3.设置时钟为指定的时间;
4.使时钟前进1秒钟的功能incSecond();
5.以“时:分:秒“的形式输出时钟的时间。

求各位高手帮忙!

class Clock{
private int hourse;
private int minute;
private int second;

public Clock(){
this.hourse=0;
this.minute=0;
this.second=0;

}

public void incSecond(){
this.second+=1;
}

public void toTime(){
if(this.hourse>24){this.hourse=0;}
if(this.minute>60){this.hourse+=1;this.minute-=60;}
if(this.second>60){this.minute+=1;this.second-=60;}
System.out.printf(hourse+":"+minute+":"+second);
}

public void setHourse(int hourse) {
this.hourse = hourse;
}

public void setMinute(int minute) {
this.minute = minute;
}

public void setSecond(int second) {
this.second = second;
}
}

public class test {
public static void main(String[] args) {
Clock c=new Clock();
c.setMinute(66);//测试数据
c.setSecond(61);
c.toTime();//输出1:7:1
}
}
基本功能实现。。没有添加访问器。。但有些代码可以修改的更好,可以的话给分我吧。。谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-13
public class Clock {
int hour=0;
int minute=0;
int second=0;
public Clock(){
hour=0;
minute=0;
second=0;
}
public void setClockTime(int hour,int minute,int second) throws SetTimeException {
if(hour<0||hour>23){
throw new SetTimeException("输入小时有误:"+hour);
}
if(minute<0||minute>59){
throw new SetTimeException("输入分钟有误:"+minute);
}
if(second<0||second>59){
throw new SetTimeException("输入秒有误:"+second);
}
this.hour=hour;
this.minute=minute;
this.second=second;
}
public void incSecond(){
if(second>=59){
second=0;
if(minute>=59){
minute=0;
if(hour>=23){
hour=0;
}else{
hour++;
}
}else{
minute++;
}
}else{
second++;
}
}
public String getTime(){
String time=hour+":"+minute+":"+second;
return time;
}
public static void main(String[] args) throws SetTimeException {
Clock c=new Clock();
System.out.println(c.getTime());
c.setClockTime(21, 59, 58);
System.out.println(c.getTime());
for(int i=0;i<10;i++){
c.incSecond();
System.out.println(c.getTime());
}
}
}
class SetTimeException extends Exception{
public SetTimeException(String msg){
super(msg);
}
}