JAVA 从键盘输入n个数和一个整数k,输出n个数中第k大和第k小求数,要求有错误
2个回答
展开全部
public class Test3 { public static void main(String[] args) {
System.out.println("请至少输入两个数字,用逗号隔开>>");
Scanner scanner = new Scanner(System.in);
String[] s = scanner.nextLine().split(",");
new Test3().zuhe(s, s.length, 0);
Collections.sort(totalNUm);
System.out.println("最小的组合数为:" + totalNUm.get(0));
System.out.println("共组成 " + kk+" 条组合数");
System.out.println("所有的组合数为:" + totalNUm.toString());
}
static int kk = 0; static List totalNUm = new ArrayList();
private void zuhe(String[] array, int n, int k) { if (n == k) {
String s = "";
for(int i=0;i<n;i++){
s += array[i];
}
totalNUm.add(s);
++kk;
} else {
for (int i = k; i < n; i++) {
swap(array, k, i);
zuhe(array, n, k + 1);
swap(array, i, k);
}
}
}
private void swap(String[] a, int x, int y) { String temp = a[x];
a[x] = a[y];
a[y] = temp;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询