为什么compareTo用不了,应该怎么改


package DateStructuresHomework;

import java.util.Scanner;

public class Comparable {
    public static Comparable getMax(Comparable []a)
    {
        int k=0;
        for (int i = 1; i 
        {
            if (a[i].compareTo(a[k])>0)
            {
                k=i;
            }
            return a[k];
        }

    }

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();
        Comparable []a=new Comparable[n];
        for (int i = 0; i < n; i++)
        {
            a[i]=in.next();

        }
        System.out.println(getMax(a));
    }
}

img

img

img

可参考:https://blog.csdn.net/m0_45687585/article/details/114763664
https://www.itdaan.com/blog/2016/12/11/3f2f242067b5e7a029bf4dfe9d3cfeea.html

import java.lang.*;
import java.util.*;
class Returnmaxelement {
    public static <E extends Comparable> E max(E []list)
    {
        E max=list[0];
        for(int i=0;i<list.length;i++)
        {
            if(list[i].compareTo(max) > 0)
                max = list[i];
        }
        return max;
    }
    public static void main(String []args)
    {
        Scanner in=new Scanner(System.in);
        int n = in.nextInt();
        String[]list =new String[n];
        for(int i=0; i<n; i++)
                list[i] = in.next();
        System.out.println(max(list));
    }
}

本来想回答的,仔细看了下你写的代码,我放弃了。
一个普通的数字比较,你整些花里胡哨的操作干嘛,我不理解。
还没学会走就想着跑。

a[i]是Comparable类型的数组,你用string型赋值,肯定报错啊
而且你的compareTo方法在哪里??