Java编程思想第4版第四章练习10

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

1260=21*60

1827=21*87

2187=27*81

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

/**
 * <p>吸血鬼数字</p>
 * @author Shockang
 *
 */
public class TheVampireNumbers
{

	/**
	 * <p>判断一个4位数是否为吸血鬼数字的方法</p>
	 * @param num
	 * @return boolean
	 */
	private static boolean isVampire(int num)
	{
		int n1=num/1000;//4位数的首位数字
		int n2=(num-n1*1000)/100;//第二位数字
		int n3=(num-n1*1000-n2*100)/10;//第三位数字
		int n4=num-n1*1000-n2*100-n3*10;//末位数字
		//判断数字组合成的数乘积是否为原来的数
		if( (n1*10+n2)*(n3*10+n4)==num ||
                    (n1*10+n2)*(n4*10+n3)==num ||
                    (n2*10+n1)*(n3*10+n4)==num ||
                    (n2*10+n1)*(n4*10+n3)==num ||
		    (n1*10+n3)*(n2*10+n4)==num ||
                    (n1*10+n3)*(n4*10+n2)==num ||
                    (n3*10+n1)*(n2*10+n4)==num ||
                    (n3*10+n1)*(n4*10+n2)==num ||
		    (n1*10+n4)*(n2*10+n3)==num ||
                    (n1*10+n4)*(n3*10+n2)==num ||
                    (n4*10+n1)*(n2*10+n3)==num ||
                    (n4*10+n1)*(n3*10+n2)==num )
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	public static void main(String[] args)
	{
		for(int i=1000;i<10000;i++)
		{
			if(isVampire(i))
			{
				System.out.println(i);
			}
		}
	}

}

  

时间: 2024-12-14 04:26:21

Java编程思想第4版第四章练习10的相关文章

《JAVA编程思想》学习笔记——第四章 控制执行流程

true和false 所有条件语句都利用条件表达式的真或假来决定执行路径. if-else if (Boolean-expression) statement 或 if (Boolean-expression) statement else statement 迭代 while, do-while和for来控制循环,有时将他们划分为迭代语句(iteration statement).语句会重复执行,直到起控制作用的布尔表达式(Booleanexpression)得到"假"的结果为止.

Java编程思想(第4版)下载 &#593037;

下载地址: http://www.gqylpy.com/di/13 <Java编程思想(第4版)>PDF高清完整版-下载 内容简介 编辑 本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形.从Java的基础语法到最高级特性(深入的面向对象概念.多线程.自动项目构建.单元测试和调试等),本书都能逐步指导你轻松掌握.[1] 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作.本书的作者拥有多年教学经

《Java编程思想(第4版)》pdf

下载地址:网盘下载 内容简介 编辑 本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形.从Java的基础语法到最高级特性(深入的面向对象概念.多线程.自动项目构建.单元测试和调试等),本书都能逐步指导你轻松掌握.[1] 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作.本书的作者拥有多年教学经验,对C.C++以及Java语言都有独到.深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概

Java编程思想(第4版)pdf高清版免费下载

下载地址:网盘下载 备用地址:网盘下载 内容简介编辑本书赢得了全球程序员的广泛赞誉,即使是最晦涩的概念,在Bruce Eckel的文字亲和力和小而直接的编程示例面前也会化解于无形.从Java的基础语法到最高级特性(深入的面向对象概念.多线程.自动项目构建.单元测试和调试等),本书都能逐步指导你轻松掌握.[1] 从本书获得的各项大奖以及来自世界各地的读者评论中,不难看出这是一本经典之作.本书的作者拥有多年教学经验,对C.C++以及Java语言都有独到.深入的见解,以通俗易懂及小而直接的示例解释了一

JAVA编程思想(第4版) 静态数据的初始化

无论创建多少个对象,静态数据永远只占用一份存储空间.static关键字不能应用于局部变量,因此它只能作用于域.如果一个域是静态的基本类型域,且没有对它进行初始化,那么它就会获得基本类型的标准初值,而如果它是一个对象的引用,则默认初始值为null.例子如下: package test; class Bowl{ Bowl(int marker){ System.out.println("Bowl("+marker+")"); } void f1(int marker){

java编程思想第4版清晰中文版网盘下载

下载地址:https://u18103887.ctfile.com/fs/18103887-314580535 原文地址:https://www.cnblogs.com/wuyb123/p/10386471.html

《JAVA编程思想》学习笔记——第七章 复用类

复用类的主要方式有两种:组合,继承 组合 例: class A {} class B {A a;} 继承 继承是所有OOP语言和Java语言不可缺少的组成部分.当创建一个类时,总是在继承,因此,除非已明确指出要从其它类中继承,否则就是在隐式地从Java的标准根类Object进行继承. 继承适用关键词:extends,继承会自动得到基类中所有的域和方法 super super关键字表示超类的意思,当前类就是从超类继承来的.调用超类方法:super.funcName(); 初始化基类 无参构造器,J

Java编程思想读书笔记_第三章

本章提到的关于==的部分,一个完整的实验如下: 1 class Test { 2 public static void main(String[] args) { 3 Integer i = new Integer(47); 4 Integer j = new Integer(47); 5 Integer i1 = 47; 6 Integer j1 = 47; 7 int i2 = new Integer(47); 8 int j2 = new Integer(47); 9 int i3 = 4

《JAVA编程思想》学习笔记——第十一章 持有对象

JAVA容器类类库的用途是 "保存对象",并将其划分为两个不同的概念: 1) Collection.一个独立元素的序列,这些元素都服从一条或多条规则.List必须按照插入的顺序保存元素,而Set不能用重复元素.Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同) 2)Map.一组成对的 "键值对" 对象,允许你使用键来查找值.ArrayList允许你使用数字 Arrays.asList()方法接受一个数组或是一个用逗号分隔的元素列表(使用可变参数