Java 给定一个由一个或多个空格分隔的数字字符串,查找第二大数字

Java 给定一个由一个或多个空格分隔的数字字符串,查找第二大数字,java,arrays,Java,Arrays,以下是我目前得到的信息: public static int findSecondLargest(String nums){ String[] num = nums.split(" "); int[] numbers = new int[num.length]; int highest1 = Integer.MIN_VALUE; int highest2 = Integer.MIN_VALUE; for (int i =0; i < nu

以下是我目前得到的信息:

    public static int findSecondLargest(String nums){

    String[] num = nums.split(" ");
    int[] numbers = new int[num.length];
    int highest1 = Integer.MIN_VALUE;
    int highest2 = Integer.MIN_VALUE;

    for (int i =0; i < num.length; i++) {       
        numbers[i] = Integer.parseInt(num[i]);
    }

    for (int numbers : numbers) {
        if (numbers >= highest1) {
            highest2 = highest1;
            highest1 = numbers;
        }
        else if (numbers > highest2) {
            highest2 = numbers;
        }
    }
    return highest2;
}
public static int findSecondLargest(字符串nums){
字符串[]num=nums.split(“”);
int[]number=新int[num.length];
int highest1=整数.MIN_值;
int highest2=整数.MIN_值;
对于(int i=0;i=最高值1){
最高2=最高1;
最高1=数字;
}
否则如果(数字>最高值2){
最高2=数字;
}
}
返回最高点2;
}
我在
for(int numbers:numbers){
行上得到一个错误,因为它是重复的,但是我仍然不确定为什么我的代码不能工作,因为我想在
for
循环中使用数组的全部范围

有什么建议吗?还有,有没有更简单的方法不用使用数组就可以做到这一点

for (int numbers : numbers) {

这两个位置的变量相同。变量
numbers
int
还是
int[]
?你说不出来,编译器也说不出来。重命名该变量。

我建议将第一个数字更改为I或其他变量。编译器可能认为你试图通过数组运行数组。

因为你不能在for循环中声明一个与数组同名的新整数,在该范围内我不知道你在里面指的是什么数字我是个白痴。把它改成了
i:numbers
@RAZ\u Muh\u Taz只是在你发布的时候把它改了哈哈