求10个数字可能的所有组合,只能用数组基本数据类型 用个10层循环可以解决,但这方法太笨了,请问有什么好的办法吗?谢谢了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这是 组合里没有重复两个数的情竞class shu{ public static void main(String args[]){ int a[] = {0,1,2,3,4,5,6,7,8,9}; int k = 0; int n = (a.length * (a.length - 1)) / 2; //数学的排列组合 String ss[] = new String[n]; for(int i = 0; i<a.length-1; i++){ for(int j = i+1; j < a.length; j++){ ss[k] = a[i] + "," + a[j]; System.out.print(ss[k] + "\t"); k++; } } }}如果要重复的话,改一下 n 和循环就可以了 一開始帶入print("");private void print(String appendStr){ if(appendStr.length()>=a.length){ System.out.println(appendStr); return; } for(int i=0;i<a.length;i++){ if(!used[i]){ used[i] = true; print(appendStr+a[i]); used[i] = false; } } } boolean[] used = {false, false,false,false,false,false,false,false,false,false}; private int a[] = {0,1,2,3,4,5,6,7,8,9}; Comparable compareTo 抽象类问题 如何动态设置方法体 如何给.class 文件创建快捷方式 为什么我的applet无法获取WEB-INF中的类呢 高分求教:如何把一个对象从客户端通过流输入到服务器端,并还原该对象 -1>>32还是-1, -1>>>32为什么还是-1? java里函数的参数怎么可以象C++里的枚举类型一样限制值的范围 请教,如何继续学下去? 我是一个计算机专业毕业生,对JAVA是个新手,想学习JAVA,应该看什么书入门!?! 韩文编码问题 接收 用户的输入 判断 用户输入 ,小程序 求教啊
class shu{ public static void main(String args[]){
int a[] = {0,1,2,3,4,5,6,7,8,9};
int k = 0;
int n = (a.length * (a.length - 1)) / 2; //数学的排列组合
String ss[] = new String[n]; for(int i = 0; i<a.length-1; i++){ for(int j = i+1; j < a.length; j++){
ss[k] = a[i] + "," + a[j];
System.out.print(ss[k] + "\t");
k++;
}
} }
}
如果要重复的话,改一下 n 和循环就可以了
if(appendStr.length()>=a.length){
System.out.println(appendStr);
return;
}
for(int i=0;i<a.length;i++){
if(!used[i]){
used[i] = true;
print(appendStr+a[i]);
used[i] = false;
}
}
}
boolean[] used = {false, false,false,false,false,false,false,false,false,false};
private int a[] = {0,1,2,3,4,5,6,7,8,9};