使用Comparable查找最大值/最小值

马克D

我有一个对象类

public class Film implements Comparable<Film>

我正在使用Eclipse,想知道为什么Film用红色下划线标出错误:

The type Film must implement the inherited abstract method Comparable<Film>.compareTo<Film>

现在我的主要问题是:

如何获得用户提交的最大/最小影片长度和标题?

我的对象类Film具有用于电影标题和电影长度的getter和setter方法以及toString方法。下面这个文章(#3)我创建了我的对象类的两个方法:

public int max(Film maxLength){
    int compareLength = ((Film) maxLength).getLength();

    return this.length - compareLength;
}

public int min(Film minLength){
    int compareLength = ((Film) minLength).getLength();

    return compareLength - this.length;
}

我可以使用这些来查找和打印用户提交的胶卷长度的最大值/最小值吗?

如果是这样,怎么办?

如果没有,执行此操作的正确方法是什么?

测试类如下:

import java.util.Scanner;
public class test {
    public static void main (String[] args){
        Film[] f = new Film[3];
        Scanner input = new Scanner(System.in);
        for (int i=0;i<3;i++){
            f[i] = new Film(); 

            System.out.println("Enter Film Length:");
            f[i].setLength(input.nextInt());
            input.nextLine();
            System.out.println("Enter Title:");
            f[i].setTitle(input.nextLine());
        }
        input.close();
        for (int i = 0; i < 3; i++) {
            System.out.println(f[i].toString());
        }
    }
}
安德森·维埃拉(Anderson Vieira)

Film类实现Comparable<Film>这意味着您必须实现一个compareTo()在类Film调用的方法该方法将提供此类对象的排序。

@Override
public int compareTo(Film that) {
    // Order by film length
    return Integer.compare(this.length, that.length);
}

如果只需要按胶片长度对对象进行排序,则可以使用Arrays.sort()

Film[] films = new Film[3];
// put the objects into the array
Arrays.sort(films);

然后films[0]将包含长度最短的电影,而最后一个元素将是长度最长的电影。

如果需要按其他字段(例如电影标题)进行比较,则可以创建一个自定义比较器:

class FilmTitleComparator implements Comparator<Film> {
    public int compare(Film a, Film b) {
        return Integer.compare(a.getTitle().length(), b.getTitle().length());
    }
}

并传递给 Arrays.sort()

FilmTitleComparator titleComparator = new FilmTitleComparator();
Arrays.sort(films, titleComparator);

然后films[0]将包含标题最短的电影,而最后一个元素将是标题最长的电影。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用awk查找最小值和最大值?

来自分类Dev

在Python中查找列表的最小值,最大值

来自分类Dev

查找函数的最小值和最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

awk查找数组的最小值和最大值

来自分类Dev

查找局部最小值和局部最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

查找矩阵的最大值和最小值

来自分类Dev

Excel公式查找最大值/最小值

来自分类Dev

查找连续行的最小值/最大值

来自分类Dev

Excel:使用什么公式返回一组查找值的最小值或最大值?

来自分类Dev

从数组中查找最小值和最大值,最小值始终为0

来自分类Dev

从数组中查找最小值和最大值,最小值始终为0

来自分类Dev

在一次传递数据中使用pyspark查找最小值/最大值

来自分类Dev

如何使用numpy在可变长度数组中查找最小值/最大值?

来自分类Dev

如何使用Dplyr的Summarize以及which()查找最小值/最大值

来自分类Dev

使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

来自分类Dev

使用迭代查找最大值和最小值时的Python TypeError

来自分类Dev

查找用户输入的最小值和最大值,而无需使用数组

来自分类Dev

使用ARM NEON指令查找数组的最小值和最大值

来自分类Dev

使用C中的函数查找数组中的最大值和最小值

来自分类Dev

使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

来自分类Dev

使用c#在excel中查找每个月的最小值和最大值

来自分类Dev

使用选择总和查询来查找总和的最大值和最小值

来自分类Dev

使用最小值和最大值的置信带

来自分类Dev

使用awk的最大值和最小值

来自分类Dev

使用if语句过滤最小值/最大值R

来自分类Dev

使用Parallel.For搜索最小值/最大值

来自分类Dev

使用awk提取最大值和最小值

Related 相关文章

  1. 1

    使用awk查找最小值和最大值?

  2. 2

    在Python中查找列表的最小值,最大值

  3. 3

    查找函数的最小值和最大值

  4. 4

    在.json中查找最大值和最小值

  5. 5

    awk查找数组的最小值和最大值

  6. 6

    查找局部最小值和局部最大值

  7. 7

    在.json中查找最大值和最小值

  8. 8

    查找矩阵的最大值和最小值

  9. 9

    Excel公式查找最大值/最小值

  10. 10

    查找连续行的最小值/最大值

  11. 11

    Excel:使用什么公式返回一组查找值的最小值或最大值?

  12. 12

    从数组中查找最小值和最大值,最小值始终为0

  13. 13

    从数组中查找最小值和最大值,最小值始终为0

  14. 14

    在一次传递数据中使用pyspark查找最小值/最大值

  15. 15

    如何使用numpy在可变长度数组中查找最小值/最大值?

  16. 16

    如何使用Dplyr的Summarize以及which()查找最小值/最大值

  17. 17

    使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

  18. 18

    使用迭代查找最大值和最小值时的Python TypeError

  19. 19

    查找用户输入的最小值和最大值,而无需使用数组

  20. 20

    使用ARM NEON指令查找数组的最小值和最大值

  21. 21

    使用C中的函数查找数组中的最大值和最小值

  22. 22

    使用半已知键在ArrayList的HashMap中查找最大值和最小值-Java

  23. 23

    使用c#在excel中查找每个月的最小值和最大值

  24. 24

    使用选择总和查询来查找总和的最大值和最小值

  25. 25

    使用最小值和最大值的置信带

  26. 26

    使用awk的最大值和最小值

  27. 27

    使用if语句过滤最小值/最大值R

  28. 28

    使用Parallel.For搜索最小值/最大值

  29. 29

    使用awk提取最大值和最小值

热门标签

归档