';此方法必须返回int';JAVA

';此方法必须返回int';JAVA,java,methods,return-value,Java,Methods,Return Value,这可能是一个非常偶然的错误,但我是Java新手,所以请原谅我 需要帮忙吗 多谢各位 编辑: 我想要ArrayListMax方法打印列表的大小 问题在于这种方法: public static int ArrayListMax(ArrayList List) 公共静态int-ArrayListMax(ArrayList列表) { 对于(int i=0;i您创建了函数作为返回结果 public static int ArrayListMax(ArrayList List) { for

这可能是一个非常偶然的错误,但我是Java新手,所以请原谅我

需要帮忙吗

多谢各位

编辑:


我想要ArrayListMax方法打印列表的大小

问题在于这种方法:

  public static int ArrayListMax(ArrayList List) 
公共静态int-ArrayListMax(ArrayList列表)
{

对于(int i=0;i您创建了函数作为返回结果

public static int ArrayListMax(ArrayList List)
{

    for (int i=0; i<List.size(); ++i)
    {
       System.out.println(List.get(i));
    }
}
为了解决您的问题,如果您不需要返回任何内容,请编写

public static int ArrayListMax(ArrayList List) 

void
表示您不希望该方法返回结果。

向返回
int
ArrayListMax()方法添加
return
语句,或者将方法签名从
public static int
更改为
public static void
,并添加结束
也将其应用于该方法


另外,您不应该使用
List
作为该方法的参数的名称,因为它是您在该代码中实际导入的接口的名称。java中的惯例是变量名和方法名以小写字母(驼峰大小写)开头,类名以大写字母(pascal大小写)开头.

如果只是打印值,则签名应为public static void ArrayListMax(ArrayList List)。

假设您试图在方法
ArrayListMax
中的
列表中获取最大值,则需要根据方法签名返回一个整数,错误告诉您

public static void ArrayListMax(ArrayList List) 
您可以执行以下操作,而不是打印列表中的所有值:

This method must return a result of type int
公共静态int-arrayListMax(列表){
返回集合.max(列表);
}


Use.Method&变量名以小写字母开头。使用这种方法有助于避免实例和类型之间的混淆(例如,在
main
方法中的
List
情况下)

Second,即使将正确的返回类型设置为
ArrayListMax
方法,仍需要在
main
方法中调用该方法,如下所示:

public static int arrayListMax(List<Integer> List) {
   return Collections.max(list);
}
publicstaticvoidmain(字符串参数[])
{
双arr[]={1,-6.39000,67.009,1.1,0.0,-456,6,23,-451.88};
ArrayList=新建ArrayList();
增加第(1)款;
列表。添加((int)-6.3);
增加(9000);
列表。添加((int)67.009);
增加((int)1.1);
列表。添加((int)0.0);
增加(-456);
增加(6);
增加(23);
列表.添加((int)451.88);
您的类名,其方法为:ArrayListMax(列表);
}

您应该使用return语句,因为Methode正在返回int类型值。

将该方法声明为
public static void ArrayListMax(ArrayList List)
,因为您没有返回任何内容。您没有显示
ArrayListMax
的完整代码。您可能编写了错误的return语句或错过了它。
public static int arrayListMax(List<Integer> List) {
   return Collections.max(list);
}
public static void main(String args[])
{
    double arr[] = {1,-6.3,9000,67.009,1.1,0.0,-456,6,23,-451.88};

    ArrayList<Integer> List = new ArrayList<Integer>();

     List.add(1);
     List.add((int) -6.3);
     List.add(9000);
     List.add((int) 67.009);
     List.add((int)1.1);
     List.add((int)0.0);
     List.add(-456);
     List.add(6);
     List.add(23);
     List.add((int)451.88);
     YourClassNameInWhichMethodIs.ArrayListMax(List);
}