weixin_45710228 2019-11-10 06:30 采纳率: 0%
浏览 182

在bluej 里面,如何比较两个object的大小

bluej 里面是这样的

我写了一部分,但是不知道如何比较两个object,有大神能帮我,写一个例子吗,比如那个求哪个门多,多多少的,如何在Car和CarCreator里面写。还有那个还有CarCreator里面的while loop,能不能也教一下我怎么写。

图片说明

下面是代码

图片说明
图片说明

图片说明

图片说明

  • 写回答

1条回答 默认 最新

  • 旺仔Sec 网络安全领域优质创作者 2024-04-20 15:46
    关注

    在BlueJ中比较两个对象的大小通常需要实现Comparable接口或者Comparator接口。这两个接口都包含一个compareTo()方法,用于定义对象之间的比较规则。

    如果你想让某个类的对象具有可比较性,可以让该类实现Comparable接口,并重写compareTo()方法。例如:

    public class MyClass implements Comparable<MyClass> {
        private int value;
    
        public MyClass(int value) {
            this.value = value;
        }
    
        public int getValue() {
            return value;
        }
    
        @Override
        public int compareTo(MyClass other) {
            // 比较两个对象的值大小
            return Integer.compare(this.value, other.getValue());
        }
    }
    

    然后你可以直接使用compareTo()方法来比较两个对象的大小,例如:

    MyClass obj1 = new MyClass(10);
    MyClass obj2 = new MyClass(20);
    
    int result = obj1.compareTo(obj2);
    if (result < 0) {
        System.out.println("obj1 小于 obj2");
    } else if (result > 0) {
        System.out.println("obj1 大于 obj2");
    } else {
        System.out.println("obj1 等于 obj2");
    }
    

    另一种比较对象的方法是使用Comparator接口。Comparator接口允许你在不修改对象类的情况下定义多种比较规则。你可以创建一个实现了Comparator接口的类,并在其中定义比较规则。然后在比较时,使用该比较器进行比较。

    import java.util.Comparator;
    
    public class MyComparator implements Comparator<MyClass> {
        @Override
        public int compare(MyClass obj1, MyClass obj2) {
            // 比较两个对象的值大小
            return Integer.compare(obj1.getValue(), obj2.getValue());
        }
    }
    

    然后使用比较器进行比较:

    MyClass obj1 = new MyClass(10);
    MyClass obj2 = new MyClass(20);
    MyComparator comparator = new MyComparator();
    
    int result = comparator.compare(obj1, obj2);
    if (result < 0) {
        System.out.println("obj1 小于 obj2");
    } else if (result > 0) {
        System.out.println("obj1 大于 obj2");
    } else {
        System.out.println("obj1 等于 obj2");
    }
    

    这两种方法都可以让你比较对象的大小,具体使用哪种方法取决于你的需求和设计。

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?