Java程序猿必做50题之一:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

题目:
有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);
    }
}

运行结果:
在这里插入图片描述

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值