创建一个toString()方法,该方法将值作为格式化时间字符串

时间:2015-10-06 19:19:37

标签: java tostring setter getter

我在作业的最后几步,需要一些帮助理解/做最后两个步骤。我要做的最后两件事是:

  

创建一个toString()方法,该方法将值作为格式化时间字符串返回。请记住,小于10的值必须用零填充。例如,午夜看起来像是从getMilitaryTime()返回的:00:00:00。使用String zeroPad(int)方法填充数字 - 请参阅下面的代码。使用StringBuffer对象在toString()方法中构建String,根据需要调用zeroPad(int)。   创建一个main方法并构造以下时间并使用System.out.println(clock)打印时间:   调用默认构造函数(无参数)
  小时:0,分钟:94,秒:56
  小时:14,分钟:63,秒:64
  小时:98,分钟:76,秒:-64
  小时:5,分钟:8,秒:1
  小时:23分钟:59分钟,秒钟:59

在最后的println下我得到错误:令牌上的语法错误" println",=此令牌后的预期。我不确定修复这个是否有助于我进入下一步。在制作toString方法时,我的大部分内容是否正确?

到目前为止,这就是我所拥有的:

//Create a new class called Clock
public class Clock {
public static void main(String[] args){ 
}
//Create three integer attributes for hour, minute and second.
//Always store the hour in military time.       
private double MilitaryHour; 
private double Minute;
private double Second;
// Create setters for the hour, minute and second values.
public double getMilitaryHour() {
return MilitaryHour;
}
public void setMilitaryHour(double militaryHour) {
if(militaryHour < 0 || militaryHour > 23)
this.MilitaryHour = (militaryHour % 24);
this.MilitaryHour = militaryHour;
}


public double getMinute() {
return Minute;
}
public void setMinute(double minute) {
if(minute < 0 || minute > 59)
this.Minute = (minute % 60);
this.Minute = minute;
}
public double getSecond() {
return Second;
}
public void setSecond(double second) {
if(second < 0 || second > 59)
this.Second = (second % 60);
this.Second = second;
}
public Clock(double MilitaryHour,double Minute,double Second) {
this.MilitaryHour = MilitaryHour;
this.Minute = Minute;
this.Second = Second;

}
/default
public Clock(){
this(0.0, 0.0, 0.0);
}

public String toString()
{

String result = "Hour: " + getMilitaryHour()+"Minute: " + getMinute()+ "Seconds:" + getSecond();
return result;
}
System.out.println("" + result.toString());
}

1 个答案:

答案 0 :(得分:0)

快速浏览一下,告诉我你的实现包含很多错误。

  1. 您的陈述System.out.println("" + result.toString());未正确放置。它应放在函数内部,可能在main函数内。
  2. result.toString()没有意义。根据我对您的问题的理解,您需要创建一个Clock对象,如下所示:

    Clock clock = new Clock(1, 1, 1); 然后,

    System.out.println(clock.toString());

  3. 打印对象。像这样:

    public static void main(String[] args){ 
        Clock clock = new Clock(1, 1, 1);
        System.out.println(clock.toString());
    }
    

    我不确定这是否足够,但这可以解决你的一些问题。

相关问题