Java查找最大元素

Java查找最大元素,java,arraylist,Java,Arraylist,我正在尝试查找最大元素而不使用 import java.util.Collections public static int maxArrayListValue(int[] arrayList) { int maxVal = Integer.MIN_VALUE; for (int[] qqq : arrayList) { for (int vvv : qqq) { if (vvv > maxVal) {

我正在尝试查找最大元素而不使用

import java.util.Collections

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int[] qqq : arrayList) {
        for (int vvv : qqq) {
            if (vvv > maxVal) {
                maxVal = vvv;
            }
        }
    }
    return maxVal;
}
但是(int[]qqq:arrayList)

(类型不匹配:无法从元素类型int转换为int[])

将其更改为“
for(int-qqq:arrayList)
”后,在(int-vvv:qqq)的第二个代码上仍然出现错误


(只能迭代一个数组或java.lang.Iterable的实例)

arrayList
是一个一维数组,因此(int[]qqq:arrayList)是错误的


使用
for(int[]qqq:arrayList)
arrayList
是一个一维数组,因此
for(int[]qqq:arrayList)
是错误的


使用
for(int-qqq:arrayList)
使用流怎么样?虽然<代码> INT[]/COD>将不起作用,但请考虑使用<代码>整数[]/COD>或直接使用<代码>列表< /C> < /P>
使用流怎么样?虽然<代码> INT[]/COD>将不起作用,但请考虑使用<代码>整数[]/COD>或直接使用<代码>列表< /C> < /P>
增强for循环从提供的集合中获取每个值并对其进行处理

您的代码应该是:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int vvv : arrayList) {
        if (vvv > maxVal) {
            maxVal = vvv;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int vvv : arrayList) {
        if (vvv > maxVal) {
            maxVal = vvv;
        }
    }
    return maxVal;
}

增强for循环从提供的集合中获取每个值并对其进行处理

您的代码应该是:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int vvv : arrayList) {
        if (vvv > maxVal) {
            maxVal = vvv;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int vvv : arrayList) {
        if (vvv > maxVal) {
            maxVal = vvv;
        }
    }
    return maxVal;
}
试试这个:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int qqq : arrayList) {
        if(qqq > maxVal){
            maxVal = qqq;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = 0;
    for (int[] i = 0; i < arrayList.length-1; i ++) {
            if (arrayList[i] > maxVal) {
                maxVal = vvv;
            }
    }
    return maxVal;
}
试试这个:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int qqq : arrayList) {
        if(qqq > maxVal){
            maxVal = qqq;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = 0;
    for (int[] i = 0; i < arrayList.length-1; i ++) {
            if (arrayList[i] > maxVal) {
                maxVal = vvv;
            }
    }
    return maxVal;
}

您正在将变量
qqq
声明为整数数组。
此声明不正确的原因是
arrayList
是一维数组,意味着它包含整数而不是整数数组。
假设您希望检查方法中
arrayList
参数中的每个整数,则需要将
int[]
声明替换为
int
,以便它检查每个整数,而不是每个整数数组。

关于另一个错误,嵌套的
for
循环不是必需的。说:

for (int vvv : qqq)
qqq
声明为整数时,实际上是在说“一个整数中的每个整数”,这是没有意义的,因此会出现错误。 您可以使用
qqq
而不是
vvv
,根据
maxVal
检查它的有效性

要解决这两个问题,以下是正确的方法:


您正在将变量
qqq
声明为整数数组。
此声明不正确的原因是
arrayList
是一维数组,意味着它包含整数而不是整数数组。
假设您希望检查方法中
arrayList
参数中的每个整数,则需要将
int[]
声明替换为
int
,以便它检查每个整数,而不是每个整数数组。

关于另一个错误,嵌套的
for
循环不是必需的。说:

for (int vvv : qqq)
qqq
声明为整数时,实际上是在说“一个整数中的每个整数”,这是没有意义的,因此会出现错误。 您可以使用
qqq
而不是
vvv
,根据
maxVal
检查它的有效性

要解决这两个问题,以下是正确的方法:

试试这个:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int qqq : arrayList) {
        if(qqq > maxVal){
            maxVal = qqq;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = 0;
    for (int[] i = 0; i < arrayList.length-1; i ++) {
            if (arrayList[i] > maxVal) {
                maxVal = vvv;
            }
    }
    return maxVal;
}
公共静态int-maxaraylistvalue(int[]arrayList){
int maxVal=0;
对于(int[]i=0;imaxVal){
maxVal=vvv;
}
}
返回maxVal;
}
试试这个:

public static int maxArrayListValue(int[] arrayList) {
    int maxVal = Integer.MIN_VALUE;
    for (int qqq : arrayList) {
        if(qqq > maxVal){
            maxVal = qqq;
        }
    }
    return maxVal;
}
public static int maxArrayListValue(int[] arrayList) {
    int maxVal = 0;
    for (int[] i = 0; i < arrayList.length-1; i ++) {
            if (arrayList[i] > maxVal) {
                maxVal = vvv;
            }
    }
    return maxVal;
}
公共静态int-maxaraylistvalue(int[]arrayList){
int maxVal=0;
对于(int[]i=0;imaxVal){
maxVal=vvv;
}
}
返回maxVal;
}

执行此操作后仍有错误,但在下一行“for(int-vvv:qqq)”只能迭代一个数组或java.lang.Iterableeter的实例,执行此操作仍有错误,但在下一行“for(int-vvv:qqq)”只能迭代一个数组或java.lang.Iterable的实例