每次当imment to get 3查看我的代码时都得到0的输出,我不确定我哪里出错了,我可以不使用我知道的方法,而只是尝试练习java
public class App {
public static int second(int a[],int n) {
int[] arr = new int [n];
int temp;
for(int i=0;i<n;i++) {
for(int j=i+1;j<n;j++) {
if(arr[i] > arr[j]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
return arr[n-2];
}
public static void main(String[] args) {
int[] arr = {1,3,2,5,3};
int n = 5;
int result = second(arr,n);
System.out.println(result);
}
}
8条答案
按热度按时间llmtgqce1#
您可以更改数组参数名称arr并移除声明或将值从复制到arr。
你得到零的原因是因为原始的int不能为空,所以,当你创建长度为5的数组时,它一开始就用零填充。
ttcibm8c2#
通过使用流来实现:
我删除了第二个参数,它对数组进行排序,跳过你想要的元素之前的所有元素,然后选择现在的第一个元素。
qoefvg9y3#
1dkrff034#
这里有一种不需要排序的方法。
印刷品
largest
设置为数组中的第一个值secondLargest
设置为最小可能值eoxn13cs5#
ws51t4hk6#
}
ff29svar7#
}
wj8zmpe18#
包com;公共类查找数组中第二个最高数字{
}