用java编写:1,2,3,4四个数字可以组成多少不重复的三位数(每个三位数中不能出现重复的数字)

2024-11-22 00:18:13
推荐回答(5个)
回答1:

// 1,2,3,4四个数可以组成多少个无重复数字的三位数
//考察多重循环
int count = 0;//计数器
for (int i = 1; i <= 4; i++) {//遍历个位的所有数
for (int j = 1; j <= 4; j++) {//遍历十位的所有数
for (int k = 1; k <= 4; k++) {//遍历百位的所有数
if (k != j && k != i && j != i) {//如果个位,十位,百位上的数都不相等
count++;//记录组成的个数
System.out.println(k * 100 + j * 10 + i);//打印组成后的三位数
}
}
}
}
System.out.println(count);//打印组成的三位数的个数
}

回答2:

for(int j=1;j<=4 && j!=i;j++)中判断了j!=i才会继续执行,所以当i=1,j=1时直接跳过了循环从而使i++,建议将 j!=i的判断放在for中用if判断,第三层循环同理

回答3:

public class ShuziDemo {
//用1,2,3,4组成不重复的三位数
public static void main(String[] args) {
int i,j,k,sum=0;
for( i=1;i<=4;i++){
for( j=1;j<=4;j++){
if(j==i){
continue;
}
for( k=1;k<=4;k++){
if(k==i||k==j){
continue;
}
int a=100*i+10*j+k;
System.out.print(a+" ");
sum = sum+1;
}
}
}
System.out.println("");
System.out.print("一共有"+sum+"种");
}
}

回答4:

for (int j=0;i<=4 && j!=i;j++)
当i==j==1的时候,这条循环就结束了,不会出现j=2的情况了
直接进入i==2,j==1的情况,所以是错的

回答5:

public void t1(){
int count = 0;
for(int i=1;i<=4;i++){
for (int j=1;j<=4;j++) {
for (int k =1;k<5;k++) {
if (i != j && i != k && j !=k) {
count++;
System.out.println(i + "" + j+""+k);
}
}
}
}
System.out.println(count);
}