【问题标题】:Display a class named Time. (help troubleshooting code)显示一个名为 Time 的类。 (帮助故障排除代码)
【发布时间】:2013-07-25 04:46:17
【问题描述】:

我需要设计一个名为 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[]){...

但这有大约一百万个错误。看来我有它的实质,但不是基本的开始。

【问题讨论】:

  • 我在该代码中没有看到 main 方法...
  • 这是一个有效的类。不是每个类都可以自己运行。如果需要,请使用 public static void main(String[] args) 创建另一个类并在该 main 方法中测试 Time 类。
  • 所以上面的代码你自己写了但是不知道main方法怎么写。
  • 不,代码不是我自己编写的——这是一门入门课程,我们正在学习基础知识。中间给了我们写和解释开头的期望。我们被介绍给概念。我是 Java 新手——我自己几乎没有写过任何东西!
  • 为了这个任务,我创建了以下代码

标签: java class constructor main-method


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    您要么需要 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..
       }
    }
    

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多