50道经典Java逻辑编程题

50道经典Java逻辑编程题
50道经典Java逻辑编程题

题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21....

【程序2】

题目:判断101-200之间有多少个素数,并输出所有素数。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,

则表明此数不是素数,反之是素数。

【程序3】

题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。

【程序4】

题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:

(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。

(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。

【程序5】

题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

1.程序分析:(a> b)?a:b这是条件运算符的基本例子。

【程序6】

题目:输入两个正整数m和n,求其最大公约数和最小公倍数。

1.程序分析:利用辗除法。

【程序7】

题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

1.程序分析:利用while语句,条件为输入的字符不为'\n '.

【程序8】

题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。

1.程序分析:关键是计算出每一项的值。

【程序9】

题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。

【程序10】

题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

【程序11】

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

1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。

题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

【程序13】

题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:

【程序14】

题目:输入某年某月某日,判断这一天是这一年的第几天?

1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。

【程序15】

题目:输入三个整数x,y,z,请把这三个数由小到大输出。

1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y 的值进行交换,然后再用x与z进行比较,如果x> z则将x与z的值进行交换,这样能使x 最小。

【程序16】

题目:输出9*9口诀。

1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

【程序17】

题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

1.程序分析:采取逆向思维的方法,从后往前推断。

【程序18】

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。

【程序19】

题目:打印出如下图案(菱形)

*

***

******

********

******

***

*

1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for 循环,第一层控制行,第二层控制列。

【程序20】

题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

1.程序分析:请抓住分子与分母的变化规律。

【程序21】

题目:求1+2!+3!+...+20!的和

1.程序分析:此程序只是把累加变成了累乘。

【程序22】

题目:利用递归方法求5!。

1.程序分析:递归公式:fn=fn_1*4!

【程序23】

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

【程序24】

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。【程序25】

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

【程序26】

题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

【程序27】

题目:求100之内的素数

【程序28】

题目:对10个数进行排序

1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。

【程序29】

题目:求一个3*3矩阵对角线元素之和

1.程序分析:利用双重for循环控制输入二维数组,再将a累加后输出。

【程序30】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。

【程序31】

题目:将一个数组逆序输出。

1.程序分析:用第一个与最后一个交换。

【程序32】

题目:取一个整数a从右端开始的4~7位。

程序分析:可以这样考虑:

(1)先使a右移4位。

(2)设置一个低4位全为1,其余全为0的数。可用~(~0 <<4)

(3)将上面二者进行&运算。

【程序33】

题目:打印出杨辉三角形(要求打印出10行如下图)

1.程序分析:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

【程序34】

题目:输入3个数a,b,c,按大小顺序输出。

1.程序分析:利用指针方法。

【程序35】

题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。【程序36】

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数【程序37】

题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

【程序38】

题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。【程序39】

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)

【程序40】

题目:字符串排序。

【程序41】

题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?

【程序42】

题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。求??代表的两位数,及809*??后的结果。

【程序43】

题目:求0—7所能组成的奇数个数。

【程序44】

题目:一个偶数总能表示为两个素数之和。

【程序45】

题目:判断一个素数能被几个9整除

【程序46】

题目:两个字符串连接程序

【程序47】

题目:读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*。

【程序48】

题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

【程序49】

题目:计算字符串中子串出现的次数

【程序50】

题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud "中。

Java经典试题

1. public class ReturnIt{ returnType methodA(byte x, double y){ //line 2 return (short)x/y*2; } } what is valid returnType for methodA in line 2? 答案:返回double类型,因为(short)x将byte类型强制转换为short类型,与double类型运算,将会提升为double类型. 2. 1) class Super{ 2) public float getNum(){return 3.0f;} 3) } 4) 5) public class Sub extends Super{ 6) 7) } which method, placed at line 6, will cause a compiler error? A. public float getNum(){return 4.0f;} B. public void getNum(){} C. public void getNum(double d){} D. public double getNum(float d){return 4.0d;} Answer:B A属于方法的重写(重写只存在于继承关系中),因为修饰符和参数列表都一样.B出现编译错误,如下: Sub.java:6: Sub 中的getNum() 无法覆盖Super 中的getNum();正在尝试使用不 兼容的返回类型 找到:void 需要:float public void getNum(){} ^ 1 错误 B既不是重写也不是重载,重写需要一样的返回值类型和参数列表,访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private); 重载:必须具有不同的参数列表; 可以有不同的返回类型,只要参数列表不同就可以了; 可以有不同的访问修饰符; 把其看做是重载,那么在java中是不能以返回值来区分重载方法的,所以b不对. 3. public class IfTest{ public static void main(String args[]){ int x=3;

经典逻辑推理题附答案

经典逻辑推理题(你能做起几道)(附答案) 2008年12月27日星期六下午 11:32 一、 Q先生和S先生、 P先生在一起做游戏。 Q先生用两张小纸片,各写一个数。这两个数都是正整数,差数是1。他把一张纸片贴在S先生额头上,另一张贴在P先生额头上。于是,两个人只能看见对方额头上的数。 Q先生不断地问:你们谁能猜到自己头上的数吗? S先生说:“我猜不到。” P先生说:“我也猜不到。” S先生又说:“我还是猜不到。” P先生又说:“我也猜不到。” S先生仍然猜不到; P先生也猜不到。 S先生和P先生都已经三次猜不到了。 可是,到了第四次, S先生喊起来:“我知道了!” P先生也喊道:“我也知道了!” 问: S先生和P先生头上各是什么数? 二、 有一个牢房,有3个犯人关在其中。因为玻璃很厚,所以3个人只能互相看见,不能听到对方说话的声音。” 有一天,国王想了一个办法,给他们每个人头上都戴了一顶帽子,只叫他们知道帽 子的颜色不是白的就是黑的,不叫他们知道自己所戴帽子的是什么颜色的。在这种情况下,国王宣布两条如下:

1.谁能看到其他两个犯人戴的都是白帽子,就可以释放谁; 2.谁知道自己戴的是黑帽子,就释放谁。 其实,国王给他们戴的都是黑帽子。他们因为被绑,看不见自己罢了。于是他们3个 人互相盯着不说话。可是不久,心眼灵的A用推理的方法,认定自己戴的是黑帽子。您想,他是怎样推断的? 三、 有一个很古老的村子,这个村子的人分两种,红眼睛和蓝眼睛,这两种人并没有什 么不同,小孩在没生出来之前,没人知道他是什么颜色的眼睛,这个村子中间有一个广场,是村民们聚集的地方,现在这个村子只有三个人,分 住三处。在这个村子,有一个规定,就是如果一个人能知道自己眼睛的颜色并且在晚上自杀的话,他就会升入天堂,这三个人不能够用语言告诉对方眼睛的颜色,也不能用任何方式提示对方的眼睛是什么颜色,而且也不能用镜子, 水等一切有反光的物质来看到自己眼睛的颜色,当然,他们不是瞎子,他们能看到对方的眼睛,但就是不能告诉他!他们只能用思想来思考,于是他们每天就一大早来到广场上,面对面的傻坐着,想自己眼睛的颜色,一天天过去了 ,一点进展也没有,直到有一天,来了一个外地人,他到广场上说了一句话,改变了他们的命运,他说,你们之中至少有一个人的眼睛是红色的。说完就走了。这三个人听了之后,又面对面的坐到晚上才回去睡觉,第二天,他们又 来到广场,又坐了一天。当天晚上,就有两个人成功的自杀了!第三天,当最后一个人来到广场,看到那两个人没来,知道他们成功的自杀了,于是他也回去,当天晚上,也成功的自杀了! 根据以上,请说出三个人的眼睛的颜色,并能够说出推理过程!

JAVA面试经典题(必看32题)易错知识点

第一,谈谈final, finally, finalize的区别。 final—修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的类变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。局部变量声明时可以不赋值,生命周期内只能赋值一次。被声明为final的方法也同样只能使用,不能重写(子类覆盖),可以重载。 finally—异常处理时提供finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的catch 子句就会执行,然后控制就会进入finally 块(如果有的话)。finally 语句总会被执行,如果遇到return的话,就先跑去执行finally,再return finalize—方法名。Java 技术允许使用finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在Object 类中定义的,因此所有的类都继承了它。子类覆盖finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 匿名类在实现时,必须借助一个类或一个接口,若从这个层次说它是可以继承一个类或一个接口的。但是通过extends implements关键字那是不可能的。一个内部类可以作为一个接口由另一个内部类实现。 在使用匿名内部类时,要记住以下几个原则: ·匿名内部类不能有构造方法。 ·匿名内部类不能定义任何静态成员、方法和类。 ·匿名内部类不能是public,protected,private,static。 ·只能创建匿名内部类的一个实例。 ·一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类。 ·因匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效。 第三,Static Nested Class 和Inner Class的不同,说得越多越好(面试题有的很笼统)。 Nested Class 一般是C++的说法,Inner Class 一般是JAVA的说法。 Nested class分为静态Static nested class 的和非静态的inner class, 静态的Static nested class是不可以直接调用它的外部类enclosing class的,但是可以通过外部类的引用来调用,就像你在一个类中写了main方法一样。 非静态类inner class 可以自由的引用外部类的属性和方法,但是它与一个实例绑定在了一起,不可以定义静态的属性、方法。 Inner Class(内部类)定义在类中的类。 Nested Class(嵌套类)是静态(static)内部类。1. 要创建嵌套类的对象,并不需要其外围类的对象。2. 不能从嵌套类的对象中访问非静态的外围类对象。 Anonymous Inner Class (匿名内部类)匿名的内部类是没有名字的内部类。

公务员行测图形推理精选50题

1. A B C D 2 A B C D 3 A B C D 4. A B C D 5 A B C D 66. A[解析]仔细观察图形,发现第一套图的各个图形都可以由一笔画成,根据这个规

律可知正确答案是A。 67. D[解析]第一组图和第二组图特征相似: 实心与实心用实线连接 空心与空心用虚线连接 实心与空心不连接, 故本题正确答案为D。 68. A[解析]第一组图和第二组图特征相似,图形中 实线+实线=实线 虚线+虚线=实线 实线+虚线=虚线, 根据此规律,本题正确答案为A。 69. A[解析]第1个图形与第2个图形叠加后为第三个图形。本题正确答案为A。 70. A[解析]图形外部沿顺时针旋转90°,图形内部沿顺时针旋转90°,本题正确答案为A。 6 A B C D 7. A B C D 8. A B C D 9.

A B C D 10. A B C D 71. D[解析]图中第一、三个图形只有一条对称轴,第二、四个图形有两条或两 条以上对称轴,根据这一规律,第五个图形也应只有一条对称轴。答案选择D。 72. C[解析]在这组图中,五个图形呈现出以第三个图形为中心,轴对称的规律, 在选择正确答案时要注意图形中阴影的变化。本题正确答案为C。 73. C[解析]已知图形都是由相同元素构成的,依此规律,本题正确答案为C。 74. B[解析]根据已知图形可知,四种元素的重量关系是>>>。故本题 正确答案为B。 75. D[解析]此题按照常规思路寻找规律,似乎没有什么头绪,但仔细观察可发 现4个图形中的两部分黑点数相加等于另一部分,依此规律,本题正确答案为D。 11 A B C D 12. A B C D

最新经典图像逻辑题50题

经典逻辑题目 第1道C 本題所有圖形均為左右對稱的 將左邊的一半去掉,剩下的右半邊依次為數字1234 據此,可知後面為5。 第2题A 解析:去异存同 前图为:第一个图形与第二个图形重合,相同部分余下. 第二套图也如此.

第3题C 横着看三个图为一列 把外切小黑圆看成+,把内切小黑圆看成- 每一列都是图1和图2通过上面的算法和规律推出第3个图 第4题C 第一套图是逆时间转,每转90度加下面+一横 第二套图是从有小圆的90度扇形,开始逆时间旋转,每旋转一次,原有小圆的90度扇形+一个小圆,其他的90度扇形也加一个圆。 同理第3个图是:再图2的基础上再转90度,也是每转一次原有小圆扇形再+一个小圆,其他地方也同样加一个小圆。 根据以上的规律,能符合此规律的只有C项

第5题C 异色相加为黑,同色相加为白 第6题B 解析:(方法一) 把内分割线,分割出来的两个图形分别算出其比划再组成这个图行总的笔划(重合的线段算为2划)。 根据这个规律:第一套图的笔划是:6,7,8 第二套图的笔划是:9,10,11 (方法二) 看内角的个数呈规律递增;第一套图:6,7,8 第二套图:9,10,11 第7道C 第一套图的3个图的阴影部分可以组成一个全阴影图形

同理,第二套图的3个阴影部分也可以组成一个全阴影图形 第8道B 第一套是图内的3个原色不同,第二套是图内的3个原色相同,而且一一对应相似,两套图的3个图项的外框都是只有一个。 第9道B 根据第一套图和第二套图的各项图形方面不同,一一对应相似性, 第一套图:图1是左右对称,方位是左右。 图2是轴对称,方位是上下,左右;其对应相似性的图形是第二套图的图2。 图3是上下对称,其对称相似性的图形是第二套图的图1 那么现在就只有第一套图的图1没有对应关系,根据其左右对称的相似性只有B项符合,故答案为B 第10道B 若考虑把图2,图3,图4通过翻转、旋转、镜像,而组成图1,那么这样每个选项都可以。

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

行测:图形推理题50道详解

图形推理解题50项思路公务员必考 1.大小变化 2.方向旋转 3.笔画增减(数字,线条数) 4.图形求同 5.相同部份去掉 6.图形叠加(简单叠加,合并叠加,去同叠加) 7.图形组合变化(如:首尾两个图形中都包含中间图形) 8.对应位置阴影变化(两图相同或不同则第三图对应位置变阴影或变空白) 9.顺时针或逆时针旋转 10.总笔画成等差数列 11.由内向外逐步包含 12.相同部件,上下,左右组合 13.类似组合(如平行,图形个数一样等) 14.横竖线条之比有规律(如横线3条竖线4条,横线4条竖线5条等) 15.缺口相似或变化趋势相似(如逐步远离或靠近) 16.图形运动变化(同一个图形从各个角度看的不同样子) 17.图形拆分(有三个图构成,后两个图为第一个图的构成部件) 18.线条交点数有规律 19.方向规律(上,下,左,右) 20.相隔一个图形分别对称(如:以第三个图为中心,1和5对称,2和4对称) 21.含义依据条件而变(如一个错号,可以表"划",也可以表示"两划") 22.图形趋势明显(点或图形从左到右,从上到下变化等) 23.图形的上,中,下部分分别变化(求同,重叠,或去同叠加) 24.相似类(包含,平行,覆盖,相交,不同图形组成,含同一图形等) 25.上,中,下各部分别翻转变化 26.角的度数有规律 27.阴影重合变空白 28.翻转,叠加,再翻转 30.与特定线的交点数相同(如:与折线的交点数有规律,有直线的交点数不用考虑) 31.图形有多条对称轴,且有共同交点,轴对称图形(如正三角形,正方形) 32.平行,上下移动

33.图形翻转对称 34.图形边上角的个数增多或减少 35.不同图形叠加形成新图 36.图形中某条线均为长线或短线(寻找共同部分) 37.线段间距离共性.(如:直线上有几个点,分成几条线段,上部覆盖有另一个图形,如圆,三角形等,但是上面的图形占的位置都不大于最外面两点间的距离) 38.图形外围,内部分别顺或逆时针旋转(内外部变化相反) 39.特殊位置变化有规律(如当水平时,垂直时图形有一规律) 40.各图形组成部件属于同一类(如:均为三条曲线相交) 41.以第几幅图为中心进行变化(如:旋转,走近,相反等) 42.求共同部分再加点变化(如:提出共同部分,然后让共同部分都变黑什么的) 43.除去共同部分有规律 44.数线段出头数,有规律(成等差数列,或有明显规律) 45.图形每行空间数相同 46.以中间图形为中心,上下,对角分别成对称 47.先递增再递减规律 48.整套图形横着看,或竖着看,分别有规律. 49.注意考虑图形部分变化(如:分别为上下不变中间变化,然后上中下一起变化,左右分别变化,左右一起变化等) 50.顺着次序变化.(如:原来在内部的放大变为外部图形,内部图形相应变化.左右组成的图,上一个右边图等于下个左边图,右边再加个新图,如此循环) 1.大小变化

Java经典编程题50道

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】

公务员题目《图形推理》练习题

公务员题目《图形推理》练习题

————————————————————————————————作者:————————————————————————————————日期:

1. 以下哪一个图形是由左边的四个图形不经旋转、翻转直接拼接而成的? A.如图所示 B.如图所示 C.如图所示 D.如图所示 B。以最大的第二幅图为主图,第一幅的三角拼接在右上角,第三幅拼接在左上角,第一幅拼接在右下角。因此,该题选B。 2. 左边给定的是纸盒的外表面,下列哪一项能由它折叠而成() A.A B.B C.C D.D A。箭头面与“T”面、“N”面与圆圈面为相对面,排除C、D两项。B项顶面的“T”应逆时针旋转90度。A项正确。 3.

. A.如上图 B.如上图 C.如上图 D.如上图 A。题干中第一和第八位的图一样,第二和第五位的图一样,第三和第七位的图一样,第四和第六位的图一样,符合此规律的只有A。 4. 从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律( ) A.A B.B C.C D.D C。从九宫格的中心图形出发,发现中心图形的小三角数量等于其水平、竖直、对角线方向的另外两个图形的小三角形数量之和,因此问号处图形的小三角形数量为5(中间图形的9个减去左上角图形的4个),只有C项符合。 5. . A.A B.B C.C D.D B。第一组图均可以一笔画成,B项符合此规律。 6.

下列选项中,符合所给图形的变化规律的是() A.如上图A所示 B.如上图B所示 C.如上图C所示 D.如上图D所示 B。首先整个图形顺时针旋转90度,然后黑色部分顺时针移动一格。 7. .? A.A B.B C.C D.D D。每组第一个图形上下翻转得到第二个图形,第二个图形顺时针旋转90度得到第三个图形。故选D项。8. 下列选项中,符合所给图形变化规律的是( )

经典逻辑思维训练题(25题,带答案)

经典逻辑思维训练题(25题,带答案) 快去训练一下你的大脑的逻辑思维能力吧!1.世界级的马拉松选手每天跑步不超过6公里。 因此,如果一名选手每天跑步超过6公里,它就不是一名世界级马拉松选手。 以下哪项与上文推理方法相同?(A)跳远运动员每天早晨跑步。 如果早晨有人跑步,则他不是跳远运动员。 (B)如果每日只睡4小时,对身体不利。 研究表明,最有价值的睡眠都发生在入睡后第5小时。 (C)家长和小孩做游戏时,小孩更高兴。 因此,家长应该多做游戏。 (D)如果某汽车早晨能起动,则晚上也可能起动。 我们的车早晨通常能启动,同样,它晚上通常也能启动。 (E)油漆三小时之内都不干。 如果某涂料在三小时内干了,则不是油漆。 2.19世纪有一位英国改革家说,每一个勤劳的农夫,都至少拥有两头牛。 那些没有牛的,通常是好吃懒做的人。 因此它的改革方式便是国家给每一个没有牛的农夫两头牛,这样整个国家就没有好吃懒做的人了。 这位改革家明显犯了一个逻辑错误。

下列选项哪个与该错误相类似?(A)天下雨,地上湿。 现在天不下雨,所以地也不湿。 (B)这是一本好书,因为它的作者曾获诺贝尔奖。 (C)你是一个犯过罪的人,有什么资格说我不懂哲学?(D)因为他躺在床上,所以他病了。 3.有一天,某一珠宝店被盗走了一块贵重的钻石。 经侦破,查明作案人肯定在甲、乙、丙、丁之中。 于是,对这四个重大嫌疑犯进行审讯。 审讯所得到的口供如下:甲:我不是作案的。 乙:丁是罪犯。 丙:乙是盗窃这块钻石的罪犯。 丁:作案的不是我。 经查实:这四个人的口供中只有一个是假的。 那么,以下哪项才是正确的破案结果?(A)甲作案。 (B)乙作案。 (C)丙作案。 (D)丁作案。 (E)甲、乙、丙、丁共同作案。 4.古代一位国王和他的张、王、李、赵、钱五位将军一同出外打猎,各人的箭上都刻有自己的姓氏。 打猎中,一只鹿中箭倒下,但不知是何人所射。

java经典试题 (2)

试题练习: 阅读下面程序: public class Cycle { public static void main(String args[]) { System.out.println(args[0]); } } 在命令行中输入java Cycle one two,该程序输出结果是___。 A.Cycle B.one C.two D.上述A、B、C均不对 下列关键字中可以表示常量的是___。 A.final B.default C.private D.transient 在Java Applet程序用户自定义的Applet子类中,常常重载___方法在Applet的界面中显示文字、图形和其它界面元素。 A.start() B.stop() C.init() D. paint() StringBuffer类字符串对象的长度是___。 A.固定B.必须小于16个字符C.可变D.必须大于16个字符 下列语句中哪个是正确的语句___。 A.RandomAccessFile raf = new RandomAccessFile("myfile.txt","rw"); B.RandomAccessFile raf = new RandomAccessFile(new DataInputStream()); C.RandomAccessFile raf = new RandomAccessFile(new File("myfile.txt")); D.RandomAccessFile raf = new RandomAccessFile("myfile.txt"); 如果在子类中使用被子类隐藏的父类的成员变量或方法,应使用关键字___。 A.this B.class C.super D.super class MouseEvent对应的是___。 A.键盘事件B.窗口事件C.按钮事件D.鼠标事件 运行下列程序,会产生什么结果是___。 public class X extends Thread implements Runnable { public void run() { System.out.println("this is run()"); } public static void main(String args[]) { Thread t=new Thread(new X()); t.start(); }

50道经典逻辑题及答案

一、逻辑判断:每题给出一段述,这段述被假设是正确的,不容置疑的。要求你根据这段述,选择一个答案。注意,正确的答案应与所给的述相符合,不需要任何附加说明即可以从述 中直接推出 1.以下是一则广告:就瘘痛而言,四分之三的医院都会给病人使用"诺维克斯"镇痛剂。因此,你想 最有效地镇瘘痛,请选择"诺维克斯"。以下哪项如果为真,最强地削弱该广告的论点?( ) A.一些名牌的镇痛剂除了减少瘘痛外,还可减少其他的疼痛 B.许多通常不用"诺维克斯"的医院,对那些不适应医院常用药的人,也用"诺维克斯" C.许多药物制造商,以他们愿意提供的最低价格,销售这些产品给医院,从而增加他们产品的 销售额 D.和其他名牌的镇痛剂不一样,没有医生的处方,也可以在药店里买到"诺维克斯" 正确答案:C 2.会骑自行车的人比不会骑自行车的人学骑三轮车更困难。由于习惯于骑自行车,会骑自行车的人 在骑三轮车转弯时,对保持平衡没有足够的重视。据此可知骑自行车( )。 A.比骑三轮车省力 B.比三轮车更让人欢迎 C.转弯时比骑三轮车更容易保持平衡 D.比骑三轮车容易上坡 正确答案:C 解题思路:题干已知,不会骑自行车的人反而比会骑的人更容易学习骑三轮车,原因 是骑三轮车在转弯时需要更多地控制平衡,由此可以推断出选项C为正确答案,选项A、B、D与题干 无关。故选C。 3.长久以来认为,高水平的睾丸激素荷尔蒙是男性心脏病发作的主要原因。然而,这个观点不可能 正确,因为有心脏病的男性一般比没有心脏病的男性有显著低水平的睾丸激素。上面的论述是基于 下列哪一个假设的?( )。 A.从未患过心脏病的许多男性通常有低水平的睾丸激素 B.患心脏病不会显著降低男性的睾丸激素水平 C.除了睾丸激素以外的荷尔蒙水平显著影响一个人患心脏病的可能性 D.男性的心脏病和降低睾丸激素是一个相同原因的结果 正确答案:B 解题思路:题干推理过程为:有心脏病的男性的睾丸激素水平低于无心脏病的,所以高水平的睾丸激素荷尔蒙不是男性心脏病发作的主要原因。这里忽略了一个前提,即得了心脏病以后会不会降低原有的睾丸激素,如会,则推理不成立,如不会,则推理成立,所以答案为B。 4.某大学工会在三八妇女节组织卡拉OK大赛,关于外语学院由哪些人来参加比赛,领导已商定出以下意见:(1)如果林红参加,则小萍也参加; (2)如果许丹不参加,则颖参加; (3)

java试题

专业 层次 学号 座号 姓名 装 订 线 java 试题 (101分 共120分钟) 适用专业:软件开发 (本试卷共 5 页) 题号 一 二 三 四 总分 得分 一、填空题(48分,每空2分) 1. Java 源程序文件编译后产生的文件称为__字节码___文件,其扩展名为 ____.class_____。 2. 布尔型常量有两个值,它们分别是__true_____、__false_______。 3. 若x = 5,y =10,则 x > y && x++ = = y - - 的逻辑值为__false_______。 4. 假若 int x=3;int y=(++x)*5;其执行结果: y= 20 。 5. do-while 语句与while 语句的区别在于先执行循环体中的语句再计算条件表达式, 所以do-while 语句的循环体至少被执行 1 次。 6.程序段 ... int s1=0,s2=0; for (int i=0, j=1; i<10&&j<10;i++,j++){ if(i>5) s1++; else s2--; j++; } ... 运行后,s1的值为__0__,s2的值为_-5_。 7. Java 的数据类型可以分为两大类: 基本数据类型 和 引用类型 。 8. 设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为:_2.5__。 9. switch(m){ case 0: System.out.println("case 0! "); case 1: System.out.println("case 1! "); break;

java50道经典逻辑题

題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 【程序1】 題目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 分析:咋一看不知道如何下手,但是你在草稿纸上写写分析一下,就很快发现其中的规律了package logic; import java.util.Scanner; public class RabbitNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("你想知道前几个月的兔子的数量"); int month = in.nextInt(); int[] mon = new int[month]; if(month < 3){ System.out.println("第" + month + "个月有1 对兔子,共2 只"); } else for(int i = 2; i < month; i++){ mon[0] = mon[1] = 1; mon[i] = mon[i - 1] + mon[i - 2]; System.out.printf("第%d 个月有%d 对兔子,共%d 只兔子\n", i + 1, mon[i], 2 * mon[i]); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 分析:如果知道素数是什么,该题就应该不难了 package logic; public class Prime { public static void main(String[] args) { System.out.print("101--200中的素数有:"); for(int i = 101; i <= 200; i++){ if(isPrime(i)) System.out.print(" " + i); } } //isPrime方法用来判断一个数是否是素数private static boolean isPrime(int i) { // TODO Auto-generated method stub for(int j = 2; j <= Math.sqrt(i); j++){ if(i % j == 0) return false; } return true; } } 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 分析:解决这个题目主要要知道怎么把一个数的各个位上的数拆分出来 package logic; import java.util.Scanner; public class NarcissisticNum { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("水仙花数有:"); for(int num = 100; num < 1000; num++){ if(isNarcissisticNum(num)) System.out.println(" " + num); } } //一个判断正整数是否为水仙花数的方法private static boolean isNarcissisticNum(int num) { // TODO Auto-generated method stub int a = num / 100; //分离出百位a int b = (num / 10) % 10; //分离出十位b int c = num % 10; //分离出个位 c int sum = a * a * a + b * b * b + c * c * c; if(sum == num) return true; else return false; } } 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 分析:按步骤实现就可以了(有多种实现方式,以下代码供参考。我也参考了别人的)package logic; import java.util.Scanner; public class PrimeFactorOfInteger { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个

Java经典练习题

Java基础试题 一、选择题 1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. .java B. .class C. .html D. .exe 2、设x = 1 , y = 2 , z = 3,则表达式y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)? A、public static void main() B、public static void main(String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] )4 4.Which of the following is not a valid comment:D a. /** comment */ b. /* comment */ c. /* comment d. // comment 5. Java中char类型的数据长度为 :C (A)8位(B)16位(C)32位(D)64位 6.下面哪个表达式是错误的:B (A)int i = 100; (B)float f = 100.0; (C)Object o = “Hello world”; (D)char c = ‘\u1234’; 7.下面哪个语句是正确的:C (A)byte s = 256; (B)String s = ‘Hello world’; (C)int x = 012; (D)char c = “a”; 8.下列叙述中,正确的是:A A)声明变量时必须指定一个类型 B)Java认为变量number与Number相同 C)Java中唯一的注释方式是"//" D)源文件中public类可以有0或多个 9.下列属于合法的Java标识符是:D A)"ABC" B)&5678 C)+rriwo D)saler 10.下面哪个标识符是不合法的:D (A)s1 (B)$1 (C)_1 (D)1s 11.在switch(expression)语句中,expression的数据类型不能是:A A)double B)char C)byte D)short 12.已知:int[] a = new int[100];在下列给出的数组元素中,非法的是:D A)a[0] B)a[1] C)a[99] D)a[100] 13.下列的哪个赋值语句是不正确的?: A A.float f = 11.1; B.double d = 5.3E12;

15道经典逻辑推理问题及答案

15道经典逻辑推理问题 1、已知某月,周二比周三天数多,周一比周日天数多,这个月5号是星期____。 2、某个月周一与周三都出现奇数次,则这个月的有_____天,这个月1号是星期_______。 3、20世纪著名数学家诺伯特.维纳,从小就智力超常,三岁时就能读写,十四岁时就大学毕业了。几年后,他又通过了博士论文答辩,成为美国哈佛大学的科学博士。在博士学位的授予仪式上,执行主席看到一脸稚气的维纳,颇为惊讶,于是就当面询问他的年龄。维纳不愧为数学神童,他的回答十分巧妙:“我今年岁数的立方是个四位数,岁数的四次方是个六位数,这两个数,刚好把十个数字0、1、2、3、 4、 5、 6、 7、 8、9全都用上了,不重不漏。这意味着全体数字都向我俯首称臣,预祝我将来在数学领域里一定能干出一番惊天动地的大事业。”请问:维纳今年的年龄是_______岁? 4、有3个孩子,他们摸了摸衣兜,把兜中的钱全部掏出来,共是320元,中100元的两张,50元的两张,10元的两张。据了解每个孩子所带的纸币没有一个是相同的。而且,没带100元纸币的孩子也没带10元的纸币,没带50元纸币的孩子也没带100元的纸币。你能不能弄清楚,3个孩子原来各自带了多少和什么样的纸币?

5、某一天有一个人进了一家小餐馆,点了一份简餐,吃着吃着就跟老板聊了起来。老板说他有三个小孩,于是客人问他:“你的小孩几岁了?”老板:“让你猜好了!他们三个人的年龄乘起来等于72”客人想一想便说:“这样好像不够吧!”老板:“好吧!我再告诉你,你出去看一下我们这儿的门牌号码,就可以看到他们三个年龄的总和”客人出去看了一下,回来还是摇摇头回答:“还是不够啊!”老板微笑着说:“我最小的孩子喜欢吃那种巨蛋面包。”请问三个小孩的年龄各是多少? 6、一个经理有3个女儿,三个女儿年龄加起来是13,三个女儿的年龄乘积是经理自己的年龄,有一个下属已经知道经理的年龄但仍不知道三个女儿的年龄,这时经理说大女儿的头发是黑色的,然后下属就知道了三个女儿的年龄,问三个女儿的年龄各多少? 7、甲、乙、丙、丁与小强五位同学一起比赛象棋,每 2 人都要赛 1 盘,到现在为止,甲已经赛了 4 盘,乙已经赛了 3 盘,丙已经赛了 2 盘,丁已经赛了 1 盘。问:小强赛了几盘? 8、在一次乒乓球比赛前,甲、乙、丙、丁四名选手预测各自的名次。甲说:我绝对不是最后;乙说:我不是第一,也不是最后;丙说:我是第一;丁说:我是最后一名。比赛结束后,四人没有并列名次,而且只有一名选手预测错误,问是谁预测错了?

java笔试经典练习题及答案

java笔试经典练习题及答案 学习犹如登山,有的人则注重最终目标,有的人则注重前进的过程。以下是整理的笔试经典练习题及答案,欢迎学习! 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √ √ √ √ protected √ √ √ × friendly √ √ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作

相关文档
最新文档