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只是在你发布的时候把它改了哈哈