java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?

java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
public static void main(String[] args) {
x05x05//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
x05x05int[] num = new int[] {1,2,3,4};
x05x05int[] kind = new int[50];
x05x05int count = 0;
x05x05for(int i = 0; i < num.length; i++) {
x05x05x05for(int j = 0; j < num.length; j++) {
x05x05x05x05for(int k = 0; k < num.length; k++) {
x05x05x05x05x05if(i == j || i == k || j == k) {
x05x05x05x05x05x05continue;
x05x05x05x05x05}
//x05x05x05x05x05System.out.println(num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k]);
x05x05x05x05x05kind[count] = num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k];
x05x05x05x05x05count++;
x05x05x05x05}
x05x05x05}
x05x05}
x05x05System.out.println();
x05x05count = 0;
x05x05while(count < 50 && num[count] = 0) {
x05x05x05System.out.println(kind[count]);
x05x05x05count++;
x05x05}


x05}

这个.为什么会出错,而且还是数组越界的错误呢.我这里明明写了count < 50来防止超过数组元素的个数的啊~
还有问一下,错误提示中的Exception in thread "main"
为什么它有时会在第一行,有时又在其他行的呢~
wzmmol 1年前 已收到1个回答 举报

无泪秋枫 幼苗

共回答了18个问题采纳率:100% 举报

组合的数量,是数学题,阶乘
那个错误,是超出下标了
请参考
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
int[] num = new int[] {1, 2, 3, 4};
int[] kind = new int[500];
int count = 0;
for(int i = 0; i < num.length; i++) {
for(int j = 0; j < num.length; j++) {
for(int k = 0; k < num.length; k++) {
if(i == j || i == k || j == k) {
continue;
}
// System.out.println(num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k]);
kind[count] = num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k];
count++;
}
}
}
System.out.println();
count = 0;
while(count

1年前

9
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.015 s. - webmaster@yulucn.com