题目:
有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
思路:
第一、创建一个数组,用于装1、2、3、4四个数字;
第二、在三个for循环外部定义变量sum统计无重复数字的三位数的总的个数;
第三、使用三个for循环来遍历数组,如果三个元素的小标不同,那么则他们组成的数字是无重复数字的三位数,如果满足三个小标不同,则将拼接好的三位数(字符串)打印出来,并且将sum自增1;
第四、循环结束之后,打印最终的总个数sum。
package Awork;
/**
* @author : Jackj
*/
public class NonRepeatingNumber1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
//定义一个数组data来装1、2、3、4四个数
int data[]=new int[4];
data[0]=1;
data[1]=2;
data[2]=3;
data[3]=4;
//定义变量sum来统计一共可以组成多少无重复数
int sum=0;
System.out.println("不同的数有:");
//使用三个for循环来遍历元素小标
for(int m=0;m<=3;m++){
for(int n=0;n<=3;n++){
for(int p=0;p<=3;p++){
//如果三个小标不同,代表着该三位数是一个无重复数字的三位数
if(m!=n && m!=p && n!=p){ //如果每个小标不同
//此时打印拼接之后的字符串
System.out.print(""+data[m]+data[n]+data[p]+" ");
//用于统计总数的sum自增1
sum++;
}
}
}
}
//下行代码为的是达到换行效果
System.out.println();
//最后打印总的个数sum
System.out.println("个数:"+sum);
}
}
运行结果: