java多态和接口实现

Ria B

我是2年级学生,我们目前正在学习Java。我对如何做到标题上的两个感到很困惑,尤其是在为我们提供的练习中。希望得到大家的投入和帮助。谢谢!

问题:创建一个名为“比较”的接口,该接口的方法可用于比较两个“时间”对象。这些方法将包括isGreater,isLess和isEqual创建另一个将实现这些方法的类。

到目前为止,我的代码:

    import java.util.*;
    interface Comparison {
    boolean isGreater(Time x, Time y);
    boolean isLess(Time x,Time y);
    boolean isEqual(Time x, Time y);
}

public class Time implements Comparison {
    int am, pm;
    public boolean isGreater(Time x, Time y) {
        if (am > pm) {
            System.out.print("True");
        }
        else
            System.out.print("False");
    }
    public boolean isLess(Time x,Time y) {
        if (am < pm) {
            System.out.print("True");
        }
        else
            System.out.print("False");
    }
    public boolean isEqual(Time x, Time y) {
        
    }
    
}
public class Main {
    
    public static void main(String[] args) {
        System.out.println("Enter your first number: ");
        int x = new Time();
        System.out.println("Enter your second number: ");
        int y = new Time();
        
        }
    }

谢谢您的帮助!

我可以调试

如果我正确理解您的查询(如果是唯一的情况),您正在尝试比较两个不同的时间值,则请参考以下代码,否则请进一步说明您的要求,以便我可以更正源代码以帮助您。

根据您的源代码AM和PM与时间无关。我们可以通过两种方式传递时间。

  1. 创建自己的时间班级并使用它。
  2. 使用提供时间值的dateTime / Date / calendar类。

步骤:1 =>创建Main类。步骤:2 =>在类外创建一个接口。使时间数据类型变长。

interface Comparison {
    boolean isGreater(long xTime, long yTime);
    boolean isLess(long xTime, long yTime);
    boolean isEqual(long xTime, long yTime);
}

步骤:3 =>创建一个TimeManager [anyname]类以实现比较接口。实现接口方法。

class TimeManager implements Comparison {
    @Override
    public boolean isGreater(long xTime, long yTime) {
        return xTime > yTime ? true : false;
    }

    @Override
    public boolean isLess(long xTime, long yTime) {
        return xTime < yTime ? true : false;
    }

    @Override
    public boolean isEqual(long xTime, long yTime) {
        return xTime == yTime ? true : false;
    }
}

步骤:4 =>将调用语句写入主方法并使用java.utils中的日期对象传递时间

public static void main(String[] args) {
          System.out.println("Enter your first number: ");
            long x = new Date().getTime();
            System.out.println("Enter your second number: ");
            long y = new Date().getTime();
    }

希望对您有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章