首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编写一个返回对象数组中最大对象的方法

编写一个返回对象数组中最大对象的方法
EN

Stack Overflow用户
提问于 2015-04-03 22:56:18
回答 2查看 1.9K关注 0票数 0

编写一个返回对象数组中最大对象的方法。方法签名为:

代码语言:javascript
复制
public static Object max(java.lang.Comparable[] a)

所有对象都是java.lang.Comparable接口的实例。使用compareTo方法确定数组中对象的顺序。

用main方法编写一个测试程序,该方法创建一个由十个java.util.Dates组成的数组、一个由十个整数组成的数组和一个由十个String组成的数组,并在数组中找到最大的String (即按字母顺序排列)、IntegerDate

将java类命名为Max,将java文件命名为Max.java。

我很难掌握我在这项任务中到底需要做什么。我真正纠结的两件事是如何使用接口和compareTo方法。根据我的理解,接口只包含方法,那么我就必须在接口外部调用compareTo方法?无论如何,这就是我到目前为止所拥有的。

代码语言:javascript
复制
public class Max {
    public static Object max(java.lang.Comparable[] a) {

        Object tempObj = new Object();

        for (int i = 0; i < a.length - 1; i++) {
            if ((a[i]).compareTo(a[i + 1]) > 0)
                tempObj = a[i];
            else
                tempObj = a[i + 1];
        }

        return tempObj;
    }

    // compare toMethod
    public void CompareTo() {
        a[i].compareTo(a[i + 1]);
    }
}// End Main

class MaxTest implements Max {
    public void main(String[] args) {

        Integer[] intArray = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
        String[] stringArray = { "a", "b", "c", "d", "e", "f", "g", "h", "i",
            "j" };
        java.util.Date[] dateArray = {};

        for (int j = 0; j < 10; j++)
            dateArray[j] = new java.util.Date();

    }// End Main
}//End Class
EN

回答 2

Stack Overflow用户

发布于 2015-04-03 23:03:45

你就快到了,但是

  1. public void CompareTo方法是无用的。顺便说一句,你从来不用它。
  2. 这个算法是不正确的。想想看,如果在纸上执行它,它会返回4,3,2,1。另外,考虑一下如果I等于a.length - 1a[i + 1]是什么。数组的有效索引是什么?
  3. 我认为你可以放心地假设你的数组总是至少有一个元素。如果它是一个整数数组,并且包含42,那么max元素是什么?它是42,还是new Object()
  4. Your main方法创建了3个数组,但从不使用这些数组方法中的任何一个调用max()来查看它是否工作正常。
票数 1
EN

Stack Overflow用户

发布于 2015-04-03 23:04:59

这样如何:

代码语言:javascript
复制
public static Object max(Comparable[] a) {
    return Collections.max(Arrays.asList(a));
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29434557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档