java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?public static void main(String[] args) {\x05\x05//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 10:20:49

java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?public static void main(String[] args) {\x05\x05//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是
java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
public static void main(String[] args) {
\x05\x05//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
\x05\x05int[] num = new int[] {1,2,3,4};
\x05\x05int[] kind = new int[50];
\x05\x05int count = 0;
\x05\x05for(int i = 0; i < num.length; i++) {
\x05\x05\x05for(int j = 0; j < num.length; j++) {
\x05\x05\x05\x05for(int k = 0; k < num.length; k++) {
\x05\x05\x05\x05\x05if(i == j || i == k || j == k) {
\x05\x05\x05\x05\x05\x05continue;
\x05\x05\x05\x05\x05}
//\x05\x05\x05\x05\x05System.out.println(num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k]);
\x05\x05\x05\x05\x05kind[count] = num[i]*1000 + num[j]*100 + num[k]*10 + num[6-i-j-k];
\x05\x05\x05\x05\x05count++;
\x05\x05\x05\x05}
\x05\x05\x05}
\x05\x05}
\x05\x05System.out.println();
\x05\x05count = 0;
\x05\x05while(count < 50 && num[count] = 0) {
\x05\x05\x05System.out.println(kind[count]);
\x05\x05\x05count++;
\x05\x05}


\x05}

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

java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?public static void main(String[] args) {\x05\x05//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是
组合的数量,是数学题,阶乘
那个错误,是超出下标了
请参考
//有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