一个java程序设计题
- 提问者网友:抽煙菂渘情少年
- 2021-05-04 10:45
- 五星知识达人网友:七十二街
- 2021-05-04 11:09
package demo;
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) {
int[] arr = {1,5,6,2,3,4,8,7};
int[] arrCopy = arr.clone();
int point = Integer.parseInt(args[0]);
Arrays.sort(arrCopy);
int result = arrCopy[arr.length-point];
System.out.println("数组中第"+point+"大的数为:"+result);
int index = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i]==result) {
index = i;
break;
}
}
System.out.println(result+"在数组中的位置为:"+index);
}
}
- 1楼网友:过活
- 2021-05-04 13:02
- 2楼网友:西岸风
- 2021-05-04 11:31
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Test {
public static void main(String[] args) { //第n大 int n = 3; // 测试数组 Integer[] a = new Integer[] { 2, 5, 9, 6, 15, 8, 11, 10, 3, 1 }; //转成List List<Integer> list1 =Arrays.asList(a); List<Integer> list2 =new ArrayList<Integer>(list1); //先从小到大排序 Collections.sort(list2); //反转顺序 变为从大到小 Collections.reverse(list2); //获得第n大 int nMax = list2.get(n-1); //获取在原数组中的位置 int index =list1.indexOf(nMax); System.out.println(index); } }