java 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
publicstaticvoidmain(String[]args){//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?int[]num=n...
public static void main(String[] args) {
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
int[] num = new int[] {1, 2, 3, 4};
int[] kind = new int[50];
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 < 50 && num[count] != 0) {
System.out.println(kind[count]);
count++;
}
}
这个。。。为什么会出错,而且还是数组越界的错误呢。。。我这里明明写了count < 50来防止超过数组元素的个数的啊~
还有问一下,错误提示中的Exception in thread "main" 1243是什么意思啊~
为什么它有时会在第一行,有时又在其他行的呢~ 展开
//有1、2、3、4个数字,能组成多少个互不相同且无重复数字的四位数?都是多少?
int[] num = new int[] {1, 2, 3, 4};
int[] kind = new int[50];
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 < 50 && num[count] != 0) {
System.out.println(kind[count]);
count++;
}
}
这个。。。为什么会出错,而且还是数组越界的错误呢。。。我这里明明写了count < 50来防止超过数组元素的个数的啊~
还有问一下,错误提示中的Exception in thread "main" 1243是什么意思啊~
为什么它有时会在第一行,有时又在其他行的呢~ 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询