ImageVerifierCode 换一换
格式:DOCX , 页数:55 ,大小:356.98KB ,
资源ID:13118870      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13118870.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java 强化培训资料密.docx)为本站会员(b****6)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Java 强化培训资料密.docx

1、Java 强化培训资料密Java 强化培训培训资料2011-4-11shiji目 录一、算法编程题(215页)二、公司面试题(1636页)三、竞赛试题选编(3742页)一、算法编程题1.【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.public class exp2 public static void main(String args) int i=0; for(i=1;i=20;i+) System.out.p

2、rintln(f(i); public static int f(int x) if(x=1 | x=2) return 1; else return f(x-1)+f(x-2); 2.【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。import java.util.ArrayList;public class Sushu public static void main(String args) ArrayList list = new ArrayList(

3、); for(int i =101;i=200;i+) if(isPrime(i) list.add(i); System.out.println(list+n共有+list.size()+个素数); /判断是否是素数public static boolean isPrime(int i) boolean flag = true;for(int j =2;j y则将x与y的值进行交换,然后再用x与z进行比较,如果x z则将x与z的值进行交换,这样能使x最小。12.【程序12】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。13.【程序13】题目:猴子吃桃问题:

4、猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。14.【程序14】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。15.【程序15】题目:打印出如下图案(菱形)*1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用

5、双重 for循环,第一层控制行,第二层控制列。16.【程序16】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。1.程序分析:请抓住分子与分母的变化规律。17.【程序17】题目:求1+2!+3!+.+20!的和1.程序分析:此程序只是把累加变成了累乘。18.【程序18】题目:利用递归方法求5!。1.程序分析:递归公式:fn=fn_1*4!19.【程序19】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是

6、10岁。请问第五个人多大?1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。20.【程序20】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。21.【程序21】题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。22.【程序22】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。23.【程序23】

7、(与程序2相似)题目:求100之内的素数24.【程序24】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。25.【程序25】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将aii累加后输出。26.【程序26】题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。27.【程序27】题目:将一个数组逆序输

8、出。1.程序分析:用第一个与最后一个交换。28.【程序28】题目:取一个整数a从右端开始的47位。程序分析:可以这样考虑:(1)先使a右移4位。(2)设置一个低4位全为1,其余全为0的数。可用(0 4)(3)将上面二者进行&运算。29.【程序3】题目:打印出所有的水仙花数,所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=1的三次方5的三次方3的三次方。程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。30.【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因

9、数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 31.【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 1.程序分析:(ab)?a:b这是条件运算符的基本例子。 32.【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。

10、33.【程序33】 题目:打印出杨辉三角形(要求打印出10行如下图) 1.程序分析: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 134.【程序34】 题目:输入3个数a,b,c,按大小顺序输出。 1.程序分析:利用指针方法。 35.【程序35】 题目:输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 36.【程序36】 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 37.【程序37】 题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几

11、号的那位。 38.【程序38】 题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。 39.【程序39】 题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+.+1/n,当输入n为奇数时,调用函数1/1+1/3+.+1/n(利用指针函数) 40.【程序40】 题目:字符串排序。 41.【程序41】 题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少

12、有多少个桃子?42.【程序42】 题目:809*?=800*?+9*?+1 其中?代表的两位数,8*?的结果为两位数,9*?的结果为3位数。求?代表的两位数,及809*?后的结果。 43.【程序43】 题目:求07所能组成的奇数个数。 44.【程序44】 题目:一个偶数总能表示为两个素数之和。 45.【程序45】 题目:判断一个素数能被几个9整除 46.【程序46】 题目:两个字符串连接程序 47.【程序47】 题目:读取7个数(150)的整数值,每读取一个值,程序打印出该值个数的。 48.【程序48】 题目:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:

13、每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。49.【程序49】 题目:计算字符串中子串出现的次数 50.【程序50】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件stud中。51.编写一个java程序,完成以下功能:声明一个名为s的String对象,并使它的内容是“Call me Accp.”。打印整个字符串。使用length()方法打印字符串的长度。使用charAt()方法打印字符串的第一个字符。使用charAt()方法和lengt

14、h()打印字符串的最后一个字符。使用indexOf()方法和subString()方法打印字符串的第一个单词。52.编写一个Java程序,用于:测试两个字符串String firstString=”This is”和String secondString=”This is”;是否相等。将”his father”与其中的firstString字符串连接。用z替换新字符串中的i。53.请计算出距当前时间100天后的日期时间,并用“XXXX年XX月XX日”的格式输出。54.创建一个mymath包并在其中定义Mathoperations类。该类定义3个方法,即add()、sub()和multiply(

15、),分别执行加法、减法和乘法运算。创建另一个可以导入此包的类并使用这些方法计算值。分析:该程序由3个方法组成,可以执行3种运算。因此,要执行这些运算,应给这些方法传递num1和num2变量。使用这些值执行方法后,这些方法将返回结果值。用于计算的值由导入mymath包的另一个类来传递。55.向mymath包再添加一个Palindrome类,这个类应该检查指定的字符串时候为palindrome。将字符串作为命令行参数,在UseMathsPalin.java文件中创建该类的对象,并访问用于检查字符串是否为palindrome的方法。UseMathsPalin.java还应该显示上题中MathOper

16、ations.java文件的输出结果。分析:使用String类的toString()方法,创建StringBuffer类的对象并访问reverse()和toString()方法以执行检查。创建MathOperations类的对象并传递值以访问add()、sub()和multiply()方法。56、编写一个程序,检查字符串是否为合法的Java标识符。57、构建一个Occurrences程序,查找字符“e”在字符串“Seize the day”中出现的次数。58、编写一个ExtractString程序,从字符串“Seize the Day”中提取单词“the”和“Day”。59、编写一个Conve

17、rse程序,分别将作为命令行参数传递的整型值转换为二进制、十六进制以及八进制数值,使用Integer类的方法可以完成此任务。60、编写一个程序,用于生成10个随机字符并检查生成的每个字符是元音字母还是辅音字母,并且生成的每个字符都应该是大写形式。61、编写一个程序,用于显示特定年份中某个月的日历。月和年应从命令行参数接受。如果用户没有输入月和年,则应显示当前月和年的日历。输出结果应如图所示:提示:(1) 将月份的名称和每个月的天数存储在数组中。(2) 获取特地月份的名称和最大天数。(3) 创建GregorianCalendar类的实例。(4) 使用Calendar.DAY_OF_WEEK常量获

18、取月份的第一天。(5) 系统当前日期的获取。Calendar today=Calendar.getInstance();month=today.get(Calendar.MONTH);year=today.get(Calendar.YEAR);(6)显示日历。62 . 验证例题:某学员3门课成绩,编程实现:(1)Java课和SQL课的分数之差(2)3门课的平均分63. 求两个整数相除的商和余数。64.利用%和/运算符,完成num=8461各位数的分离,即分别输出数的千位、百位、十位和个位。65. 验证作业:实现一个数字加密器,加密规则是:加密结果 = (整数*10+5)/2 + 3.14159

19、,加密结果仍为一整数。66. 黄金周森林公园门票优惠:购票10张以下,票价20元;购票10到19张,票价15元;购票20张到29张,票价10元;购票30张以上,票价8元。请编写程序,根据购票数量计算票款总额。67. 将3个数按从小到大的顺序排列。68. 使用while和do-while语句分别实现求1-100之间自然数的和,并验证当循环条件第一次不被满足时两种循环结构的运行情况。69. 验证求从键盘输入的5个数的平均数问题,并进一步验证当输入数为负数给出错误提示的问题。70. 摄氏温度与华氏温度的转换表输出问题。1.华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就

20、行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即行。double f = 100; / 华氏温度double c = 37; / 摄氏温度/ 华氏温度转摄氏温度System.out.println(f - 32.0) * 5 / 9);/ 摄氏温度转华氏温度System.out.println(c * 9.0 / 5 + 32);71. 110之间的整数相加,得到累加值大于20的当前数。72. 求从键盘输入的5个数中的最大数。73. 使用数组求从键盘输入的5个学生成绩的平均分。74. 从键盘输入5个数,利用数组排序,并求其中的最大数。75. 用Java语言描述“盒子类”。盒子的属性:

21、长、宽、高盒子的方法:计算体积编写测试类,为盒子的属性赋初始值,并计算体积。使用无参数的构造方法为盒子设置初始值,编写测试类,并计算体积。使用带参数的构造方法为盒子设置初始值,编写测试类,并计算体积。76. 定义一个学生类Student,属性为学生的姓名和学号,定义构造方法,用于对成员变量赋值,创建测试类用于显示姓名和学号。77. 创建一个类Students,属性为姓名和年龄。先使用默认构造方法对name和age变量赋值。再使用参数化构造方法,以传递姓名和年龄的值。再定义一个方法,同时显示两个属性的值。创建测试类创建两个对象分别用两种构造方法进行初始化,并显示姓名和年龄。78. 编写一个包含名

22、为Calculator类的程序。定义两个属性变量,编写用于执行加、减、乘、除运算的方法。在此程序中使用带参数的构造方法,并编写测试类创建该类的对象并访问这些方法。79. 编写Student类,描述属性:姓名、年龄和专业,分别使用无参数化构造方法和带参数的构造方法进行初始化,编写study() 、program()、display()方法。编写测试类,调用Student类的方法。80.已知a,b均是整型变量,写出将a,b两个变量中的值互换的程序。int a = 3;int b = 5;int tmp = a;/临时变量a = b; b = tmp; System.out.println(a= +

23、 a);System.out.println(b= + b);不用第三方变量,将ab两个变量的值互换int a = 3; int b = 5;a=a+b; /用a获得总和b=a-b; /得到旧a值赋给ba=a-b; /得到旧b值赋给aSystem.out.println(a= + a);System.out.println(b= + b);81.输入一个任意的浮点数,例如3.123456789,保留其两位小数输出,无需四舍五入/创建输入流Scanner input = new Scanner(System.in);/得到输入的浮点数double d = input.nextDouble();/

24、将浮点数乘以100(保留2位)后取整,再除以100.0还原成浮点数System.out.println(int) (d * 100) / 100.0 ); 输入一个任意的5位整数,将它保留到百位,无需四舍五入Scanner scanner = new Scanner(System.in);int i = scanner.nextInt();System.out.println(i / 100 * 100);82.输入一个01000的整数,求各位数的和,例如345的结果是3+4+512注:分解数字既可以先除后模也可以先模后除Scanner scan = new Scanner(System.in

25、);int i = scan.nextInt();/分解数字int x1 = i / 1000;int x2 = i / 100 % 10;int x3 = i / 10 % 10;int x4 = i % 10; System.out.println(x1 + x2 + x3 + x4);83.输入一个任意的大写字母AZ,转换为小写字母,(后面再练习输入一个字符串,大写全部转换为小写) char c = A; System.out.println(char) (c + 32) );/加32即小写对应字母84.输入一个数字,判断是一个奇数还是偶数85.判断一个数字是否能被5和6同时整除(打印能

26、被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)86.输入两个小于5000的正随机整数,求它们差的绝对值,并输出结果。Scanner sc = new Scanner(System.in);int a = sc.nextInt();int b = sc.nextInt(); int c = a - b;if (c 0)System.out.println(c);elseSystem.out.println(-c);87.输入一个年份,判断这个年份是否是闰年闰年算法约束简介:1年份能被400整除2年份能被4整除但不能被100整除88.输入一个0100的分数,如果不是0100之间,打印分数无效,根据分数等级打印A,B,C,D,E89.从命令行传入3个整数,求3个整数的和、积、最大值、最小值、平均值90.输入年和月,得到这个月有多少天.续上题,输入年,月,日,判断这个日期是否是一个正确的日期.续上题,输入年,月,日

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2