java题目:有1、2、3、4个数字,能组成多少个互不相同 且无重复数字的三位数?都是多少?

今天做了这个Java题目,第一次使用与或非做出来的有点差异,刚开始没找出错误原因,然后换了多重循环做出来返回使用与或非去做发现自己的值设定存在问题,两种方法都挺简单的,给各位做参考;

方法一:多重循环

   public static void main(String[] args) {
        int a,b,c;
        int d=0;//循环次数,值代表出现的次数;
        for(a=1;a<=4;a++){//百位
            for(b=1;b<=4;b++){//十位
                for(c=1;c<=4;c++){//个位
                   if (a!=b&&b!=c&&a!=c){//设定条件,三个不等;
                       System.out.println("数字为:"+ (a*100+b*10+c));
                       d++;
                   }
                }
            }
        }
        System.out.println("共有:"+d+"种可能");
    }

方法二:与或非

 public static void main(String[] args) {
        int x=0;
        for(int i=100;i<1000;i++){//先输入个三位数;
            int a=i/100;//百位
            int b=i/10%10;//十位
            int c=i%10;//个位
            if(a<=4&&b<=4 &&c<=4&& a*b*c>0){
                if(a!=b && b!=c && a!=c){
                    System.out.print( i+"\t");
                    x++;
                }
            }
        }
        System.out.println("\n"+"共组成:"+x+"个");
    }

结果:

 

学习者者总结;

希望对各位有所帮助;

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值