显示名为Time的类。 (帮助排除代码)

时间:2013-07-24 20:08:16

标签: java class constructor main-method

我需要设计一个名为Time的类。该类需要包含:

■表示时间的数据字段小时,分钟和秒。

■为当前时间创建Time对象的无参数构造函数。 (价值 数据字段将代表当前时间。)

■构造具有指定经过时间的Time对象的构造函数 1970年1月1日午夜,以毫秒为单位。 (数据字段的值将代表 这一次。)

■构造具有指定小时,分钟和时间的Time对象的构造函数 第二

■数据字段分别为小时,分钟和秒的三种获取方法。

■一个名为setTime(long elapseTime)的方法,用于设置新的时间 使用经过时间的对象。

对于此任务,我创建了以下代码:

public class Time{
   private int hour;
   private int minute;
   private int second;

   public Time(){
     this(System.currentTimeMillis());
   }

   public Time(long elapseTime){
     long totalSeconds = elapseTime / 1000L;
     this.second = (int)(totalSeconds % 60L);
     long totalMinutes = totalSeconds / 60L;
     this.minute = (int)(totalMinutes % 60L);
     int totalHours = (int)(totalMinutes / 60L);
     this.hour = (totalHours % 24);
   }

   public String toString() {
     return this.hour + ":" + this.minute + ":" + this.second + " GMT";
   }

   public int getHour() {
     return this.hour;
   }

   public int getMinute() {
     return this.minute;
   }

   public int getSecond() {
     return this.second;
 }
}

它编译得很好,但是当我去运行时会弹出一个对话框,上面写着“文件中没有找到主要方法,小程序或MIDlet”。显然我的主要方法是不对的,但我似乎无法解决它,导致我尝试过的所有内容都会产生更多错误。如果有人可以提出改变以使我的代码工作,我会非常感激。

编辑:是的,我理所当然地拥有它:

 public class Time{
  public static void main(String args[]){...

但那有大约一百万个错误。看来我有它的肉,但不是基本的开端。

2 个答案:

答案 0 :(得分:0)

您没有发布主要方法,但在java中它必须如下所示:

public static void main(String[] args) {
    /* Create time and it will pass */
}

每个java程序都需要一个main方法,否则程序无法启动。

答案 1 :(得分:-1)

你需要在Time类中使用main方法,或者需要一个单独的类(即“TimeTester”):

public class TimeTester {

  public static void main(String[] args) {

    // Test the default constructor
    Time time = new Time();

    System.out.println("time = " + time);
    System.out.println("time.toHour() " + time.toHour());
    // etc..

    // Test with a supplied value
    Time time2 = new Time(12033312L);
    System.out.println("time2 = " + time2); 
    // etc..
   }
}