《java编程思想》第四章练习10找出所有四位数的吸血鬼数

题目描述:吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积一半位数的数字,其中从最初的数字中选取的数字可以任意排序。以两个0结尾的数字是不允许的,例如下列数字都是吸血鬼数字

1260=21*60;

1827=21*87;

2187=27*81;

写一个程序,找出4位数的所有吸血鬼数字

	public void getVampireNum(){
		for(int i=11;i<100;i++){
			for(int j=i+1;j<100;j++){
				int mul=i*j;
				if(mul>=1000&&mul<=9999&&(mul%100)!=0){ //四位数且后两位不为0
					/*
					  char[] mulChar=(mul+"").toCharArray();个人感觉转化为字符数组比较好
					  char[] numChar=(i+""+j).toCharArray();
					 */
					String[] mulStr=(mul+"").split("");//将乘积转换为字符串数组
					String[] numStr=(String.valueOf(i)+String.valueOf(j)).split("");//将乘数拼在一起转换为字符串数组
					Arrays.sort(mulStr);//将字符串数组升序排序
					Arrays.sort(numStr);
					if(Arrays.equals(mulStr, numStr)){  //使用Arrays的静态方法equals判断数组包含元素是否相等
						System.out.println(i+"*"+j+"="+mul);
					}
				}
				
			}
		}
	}


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值