黑马程序员技术交流社区
标题: 征集各类java试题,(送500黑马币) [打印本页]
作者: 郑飞 时间: 2014-10-27 06:51
标题: 征集各类java试题,(送500黑马币)
本帖最后由 郑飞 于 2014-11-10 10:59 编辑
每天都是基础题,测试题,和一些论坛常见的题敲了好多遍了,一大早躺床上突发奇想,大家捐题,我适当发黑马币或技术分;希望这个帖子能对大家有用;
有效提交的前20位另加2黑马币,前40位另加1黑马币;别发单个知识点,那太多了失去了本帖的意义;已经回复的都给分了,再发离本帖原意太远的附件甚至是网址,不再给分了;
一 . 捐题注意
1.每人只限2题.(第二题奖励减半)
2.提交别人提交过的题目当作无效捐题;
3.有效提交格式: 题目类型+题目内容; (题目类型见"征题范围")
例如: 类型4 : 编程计算3乘8等于几,什么方法效率更高?
类型5 : 定义一个交通灯枚举,包含红灯、绿灯、黄灯,需要有获得下一个灯的方法,例如:红灯获取下一个灯是绿灯,绿灯获取下一个灯是黄灯
4.为了大家在基础阶段能有份合适的题目练手,希望不要提交HelloWorld和太难的题;
5.禁止长篇copy;
二 . 征题范围: (黑马发完为止,技术分留25分其他也发掉,有人愿意帮楼主分担就更好了:))
类型1.自己收集的基础算法题(4黑马币)
类型2.自己收集的普通代码题(5黑马币) 类型3.自己收集的口述题(3-7黑马币)
类型4.黑马基础测试题(4黑马币)
类型5.黑马入学测试题(5黑马币)
另外:如果本人积分不足以维持该贴积分的发放,分多的坛友可以帮忙;
作者: 郑飞 时间: 2014-10-27 06:52
本帖最后由 郑飞 于 2014-10-27 09:47 编辑
再重申下 本帖意在 收集练手题 让大家每天可以敲的代码多一些 重点不要放在难度上 在我们学的基础范围 超出一点也行 不要太难这样大家每天可以练手的 不重复的代码就多了 我每天起来第一件事就是重复之前敲过的代码 没多久就敲完了 所以才有了这个帖子
希望有同样想法的坛友看清本帖需求 捐题前看看自己要捐的题有没重复 捐题的时候最好按格式捐
作者: 杨佳名 时间: 2014-10-27 07:57
大家只提供题目和思路,勿让伸手党直接获利,直接copy整套代码过来的我看到不会加分。禁止来本帖水回复
作者: 戏言丶 时间: 2014-10-27 07:57
先占个楼。。。飞哥,你这是没睡觉呢还是起来了呢?
作者: 郑飞 时间: 2014-10-27 08:19
谢谢杨版支持:handshake
作者: 会飞的蜗牛 时间: 2014-10-27 08:52
我是来留名的。顺便留个神回复:String s = new String("xyz"); 创建了几个String Object?
参考网址:一定要看!
http://www.iteye.com/topic/774673
作者: 张周飞 时间: 2014-10-27 09:15
这是我收集一部分: 送给你>>>>>>>
-
-
11月份的Java面试题新鲜出炉.zip
25.6 KB, 下载次数: 417
-
-
115个Java面试题和答案——终极(上)_**_宋红康.zip
422.54 KB, 下载次数: 494
-
-
115个Java面试题和答案——终极(下)_**_宋红康.zip
449.23 KB, 下载次数: 482
-
-
hadoop面试题.zip
1.66 KB, 下载次数: 354
-
-
JAVA基础算法编程题全集(经典数学题及答案).zip
659 Bytes, 下载次数: 419
-
-
JAVA经典算法面试39题及答案.zip
130.06 KB, 下载次数: 432
-
-
面试Java前必须了解的10个概念.zip
9.4 KB, 下载次数: 475
作者: 张周飞 时间: 2014-10-27 09:47
本帖最后由 张周飞 于 2014-10-27 10:03 编辑
{:3_67:}看到有马友发布经典数学题算法,哥们这里收集有一份比较全的,喜欢的拿去练手。 [先思考,没思路,附带有答案]
【程序1:菲波拉契数列问题】
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
【程序2:素数】
题目:判断101-200之间有多少个素数,并输出所有素数。
【程序3:水仙花数】
题目:打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
【程序4:分解质因数】
题目:将一个正整数分解质因数。
【程序6:最大公约数和最小公倍数】
题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
【程序7】
题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
【程序8】
题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【程序9】
?题目:一个数如果恰好等于它的因子之和,这个数就称为 “完数 “。例如6=1+2+3.编程?? 找出1000以内的所有完数。
【程序10】
题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在?? 第10次落地时,共经过多少米?第10次反弹多高?
【程序11】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
【程序12】
题目:企业发放的奖金根据利润提成。利润(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,求应发放奖金总数?
【程序13】
题目:一个整数,它加上100后是一个完全平方数,加上168又是一个完全平方数,请问该数是多少
【程序14】
题目:输入某年某月某日,判断这一天是这一年的第几天?
【程序15】
题目:输入三个整数x,y,z,请把这三个数由小到大输出。
【程序16】
题目:输出9*9口诀。
【程序17】
?题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
【程序18】
??题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。?
【程序19】
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
【程序20】
题目:求1+2!+3!+…+20!的和?
【程序21】?
题目:利用递归方法求5!。
【程序22】
?题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大??
【程序23】
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
【程序24】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 ? 判断第二个字母。
【程序25】
题目:求100之内的素数??
【程序26】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
【程序27】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
【程序28】
题目:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。
【程序29】
题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
-
-
JAVA基础算法编程题(经典数学题及答案).zip
2.16 KB, 下载次数: 380
作者: hanxing 时间: 2014-10-27 09:53
膜拜郑大神
我的题目是:如何修改张老师的银行调度系统.
分析及要求:
Customer类:我们知道,顾客的身份(vip或普通,快速)在进银行前就已经确定.我们能不能创建相应的客户类,客户类里面封装了一些信息 如 id:从取号机上获取,type:已经确定 servicetime:已经确定,只不过会随机变动.我们可以把这些属性放在构造器中,让对象被创建的时候就已经确定.并提供相应的get方法
numberMachine:由于有三个顾客类,所以就不需要三个相应的numbermanger了,保留numberMachine并使它提供两个功能:1.出号,让customer获取id 2向银行提供下一位要办理业务的顾客的号码
servicewindow:被叫号后.顾客走向银行柜台,银行读取顾客信息 提供一个service方法,该方法能够根据客户type提供相应的处理措施,ps 我想用 if (customer instanceof vipcustomer/expresscustomer/commoncustomer)这种方式,我感觉三个方法能够改为一个方法,并去除大多数相同的代码的.
main:能够异步随机(还是叫同步随机?)方式产生顾客
constants和customertype类和张老师的一样,其它的比例,休眠时间也一样
说的太多不知道有没有人看呢!!如有遗漏信息麻烦提醒,希望有和我一样钻牛角尖的坛友讨论.
作者: maralbertlee 时间: 2014-10-27 10:20
本帖最后由 maralbertlee 于 2014-10-27 10:23 编辑
小弟我有道面试题:
- public class ReturnValue {
- public static void main(String[] args) {
- System.out.println(decision());
- }
-
- public static boolean decision(){
- try{
- return false;
- }
- finally{
- return true;
- }
- }
- }
复制代码
还有一道:
- <p>int x,y;
- x=3;
- //y=x+++x;
- y=x++ + ++x+x+++x;</p><p>System.out.println(x);
- System.out.println(y);</p>
复制代码 要求写出结果。
作者: 杜工 时间: 2014-10-27 10:24
本帖最后由 杜工 于 2014-10-27 10:32 编辑
如果这些题都练习过并掌握了,差不多可以面试了。
1、求两个字符串中的最大相同子串。 2、快速选择排序(或选择排序、冒泡排序)
3、定义一个数组,开启两个线程,分别隔一段时间存入一个随机数,每个线程存满5个数即可。
4、复制整个文件夹的内容
5、list中的元素删除abc字符串
6、从键盘获取三个学生信息(姓名,英语成绩,数学成绩,语文成绩),按照总分由高到低排列,并将结果存入一个.txt文件中。
7、Map使用泛型存入元素,并用两种方式迭代所有元素。
8、统计一个文本文档中每个字符的个数。
9、反射机制中获取字节码文件对象的三种方式
10、声明一个泛型集合ArrayList<Integer> ,利用反射技术,存入String类型的数据。
作者: maralbertlee 时间: 2014-10-27 10:30
这个是我们老师当时测试我们的Java测试题,都是基础。
-
-
测评试卷.zip
17.46 KB, 下载次数: 386
作者: 杜工 时间: 2014-10-27 10:31
是我印象中比较经典的题目,就写这十个了先。
作者: maralbertlee 时间: 2014-10-27 10:38
嗯,好的
作者: maralbertlee 时间: 2014-10-27 10:45
依照LZ的要求,我把那几道面试题打包进Word文档里,要求就是不借助任何工具,回答出代码的运行结果
-
-
面试题.zip
11.11 KB, 下载次数: 356
作者: renchiyao 时间: 2014-10-27 12:02
口述两道基础题:
1. 输入1675675.78902,打印结果将输入的阿拉伯数字变成大写(壹。贰。。),保留小数点后两位。
2. 杨辉三角的打印(利用二维数组实现简单些,可以挑战一下利用一维数组进行打印)
作者: xpaibeyond 时间: 2014-10-27 14:28
本帖最后由 xpaibeyond 于 2014-10-27 16:37 编辑
题目:给定一个字符串,仅由a,b,c 3种小写字母组成。当出现连续两个不同的字母时,你可以用另外一个字母替换它,如:
有ab或ba连续出现,你把它们替换为字母c;
有ac或ca连续出现时,你可以把它们替换为字母b;
有bc或cb 连续出现时,你可以把它们替换为字母a。
你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短,求最终结果的最短长度。
思路:1,对字符串进行合法校验。
2,遍历字符串,获取出现次数最多的字母。
3,从出现次数最多的字母开始按规则替换。
4,每替换一轮后,返回第2步继续执行,直到不满足替换条件后程序结束。
作者: 沈木生 时间: 2014-10-27 14:28
顶一个楼主
作者: 沈木生 时间: 2014-10-27 14:39
额,楼主删了吧
作者: zjy519893509 时间: 2014-10-27 15:07
大爱呀!后面我来接棒!
作者: void 时间: 2014-10-27 15:20
【编程题】
题目:编程实现长整数的加减法,如1....(省略一万个1)..1加2..(省略一万个2)....2;
作者: 王世虎 时间: 2014-10-27 16:21
中国古代的历史故事“田忌赛马”是为大家所熟知的。话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱。现在每匹马的速度值是固定而且已知的,而齐王出马也不管田忌的出马顺序。请问田忌该如何安排自己的马去对抗齐王的马,才能赢取最多的钱?
输入格式:第一行为一个正整数n (n < = 1000) ,表示双方马的数量。 第二行有N个整数表示田忌的马的速度。 第三行的N个整数为齐王的马的速度。
输出格式:仅有一行,为田忌赛马可能赢得的最多的钱,结果有可能为负。
样例输入
3
92 83 71
95 87 74
样例输出
200
这是我在计蒜客上看的 很多试题的
作者: 王世虎 时间: 2014-10-27 16:23
http://ti.jisuanke.com/page/17 刚忘了给你站个网址了,由于我基础差,目前只解决了十几个。大神给力!!!
作者: staycolorful 时间: 2014-10-27 16:32
前几天看到过的一道面试题
把它看成一道地图中 # 是不可到达位置 . 是可到达位置 S是起始位置 G是终止位置 @至少到达一次
问: 任给一张地图 从S出发 到达G 且@必须经过至少一次 最短路径是什么???
大家有什么好办法吗???
作者: 践行渐远 时间: 2014-10-27 16:47
本帖最后由 践行渐远 于 2014-10-27 21:01 编辑
这是我在网上下载到的JAVA经典算法42例,分享给大家。
JAVA经典算法42例.rar
(39.23 KB, 下载次数: 100)
【程序37】
题目:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
import java.util.Scanner;
public class Ex37 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
boolean[] arr = new boolean[n];
for(int i=0; i<arr.length; i++) {
arr = true;//下标为TRUE时说明还在圈里
}
int leftCount = n;
int countNum = 0;
int index = 0;
while(leftCount > 1){
if(arr[index] == true) {//当在圈里时
countNum ++; //报数递加
if(countNum == 3) {//报道3时
countNum =0;//从零开始继续报数
arr[index] = false;//此人退出圈子
leftCount --;//剩余人数减一
}
}
index ++;//每报一次数,下标加一
if(index == n) {//是循环数数,当下标大于n时,说明已经数了一圈,
index = 0;//将下标设为零重新开始。
}
}
for(int i=0; i<n; i++){
if(arr == true) {
System.out.println(i);
}
}
}
}
作者: cs8630323 时间: 2014-10-27 17:32
http://pan.baidu.com/s/1bnGmXw7
java面试宝典,好难,我大部分不会。。。。量力而为吧
作者: treanow 时间: 2014-10-27 20:49
好贴收藏,已右键
作者: 践行渐远 时间: 2014-10-27 21:00
好的:victory:
作者: 森屿北巷 时间: 2014-10-27 23:50
顶大飞哥一个。
也说一道题,口述吧。
1。在什么样的场景下使用匿名内部类。
2。抽象类可以用于创建匿名内部类吗?接口呢
作者: 玥夜 时间: 2014-10-28 11:22
:lol我来水一楼。。。需要赞助麽
作者: 裙下之臣 时间: 2014-10-28 12:28
自己整理的一点题目,希望能帮助新手
1。请大概描述一下Vector和ArrayList的区别,Hashtable和HashMap的区别。(5)
2。请问你在什么情况下会在你的JAVA代码中使用可序列化?(5)
为什么放到HttpSession中的对象必须要是可序列化的?(5)
3。为什么在重写了equals()方法之后也必须重写hashCode()方法?(10)
4。sleep()和wait()有什么区别?(10)
5。编程题:用最有效率的方法算出2乘以17等于多少?(5)
6。JAVA是不是没有内存泄漏问题?看下面的代码片段,并指出这些代码隐藏的问题。(10)
Object[] elements = new Object[10];
int size;
...
public Object pop() {
if (size == 0)
return null;
Object o = elements[--size];
return o;
}
7。请阐述一下你对JAVA多线程中“锁”的概念的理解。(10)
8。所有的递归实现都可以用循环的方式实现,请描述一下这两种实现方式各自的优劣。
并举例说明在什么情况下可以使用递归,而在什么情况下只能使用循环而不能使用递归?(5)
9。请简要讲一下你对测试驱动开发(TDD)的认识。(10)
10。请阐述一下你对“面向接口编程”的理解。(10)
11。在J2EE中有一个“容器(Container)”的概念,不管是EJB、PICO还是Spring都有他们
各自实现的容器,受容器管理的组件会具有有生命周期的特性,请问,为什么需要容器?
它的好处在哪里?它会带来什么样的问题?(15)
作者: 冥夜 时间: 2014-10-28 12:59
网上找的一个java软开的面试题:
1.final,finally,finaliz的区别
2.说出ArrayList,Vector, LinkedList的存储性能和特性?
3.String和stringbuffer进行字符串连接时的区别?
4.sleep()和wait()区别?
5.java中实现多态的机制是什么?
6.抽象类能否被实例化 ?抽象类的作用是什么?
作者: 郑飞 时间: 2014-10-28 13:33
呵呵 还记得面试时候口述题的话就填一题进来 最怕口述;P
作者: 玥夜 时间: 2014-10-28 13:41
这么多币了 土豪:lol:lol:lol
作者: cs8630323 时间: 2014-10-28 19:36
题.rar
(227.38 KB, 下载次数: 22)
作者: 踏云 时间: 2014-10-29 08:14
这个帖子不错,mark
作者: 腾超杰 时间: 2014-10-30 12:24
楼主看下这题,我没做出来
4,编写10个线程,第一个线程从1加到10,第二个线程从11加到20......第十个线程从91加到100,最后再把10个线程的结果相加
作者: 郑飞 时间: 2014-10-30 19:56
本帖最后由 郑飞 于 2014-10-30 20:58 编辑
为了让主线程最后执行,用了join后线程会依次执行,想不到其他方法了;- public class Test {
- public static void main(String[] args) throws Exception
- {
- final Sum s = Sum.SUN;
- for(int i = 0;i<10;i++)//10线程
- {
- final int step = i;//内部类访问方法中的局部变量,过度变量;
- Thread t = new Thread(){
- public void run()
- {
- s.add(step);//往数组加
- System.out.println(Thread.currentThread().getName()+"--"+s.arr[step]);
- }
- };
- t.start();
- t.join();//为了主线程打印语句放到最后,这里用了join;
- }
- System.out.println(Thread.currentThread().getName()+"--总和--"+getTotal(s.arr));
- }
- public static int getTotal(int[] arr)
- {
- int temp = 0;
- for(int i : arr)
- temp = temp + i;
- return temp;
- }
- }
- enum Sum
- {
- SUN;
- int[] arr = new int[10];
- public void add(int i)
- {
- int temp = 0;
- for(int j = 1;j<=10;j++)
- temp = temp+i*10+j;
- arr[i] = temp;
- }
- }
复制代码
作者: 腾超杰 时间: 2014-10-31 18:55
大神,嘿嘿
作者: relice 时间: 2014-10-31 19:04
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
题目:求1+2!+3!+…+20!的和
题目:利用递归方法求5!。
作者: 黄宽 时间: 2014-10-31 19:12
好贴啊 顶一个:)
作者: 十万一千 时间: 2014-10-31 19:13
此贴必火!
-
mst.png
(75.86 KB, 下载次数: 3)
作者: 郑飞 时间: 2014-10-31 23:25
图形中就3个不一样的面积 用他们组合 1.正方形 2.1/4圆 3.正方行和1/4圆的差 3元1次方程 肉眼实在看不出来
作者: 郑飞 时间: 2014-10-31 23:27
鸡蛋 50次?是不是第一个从50楼丢 然后第二个从高到低排除? 想不到更好的法子:L
作者: 郑飞 时间: 2014-10-31 23:41
这种题 主要还取决于 思考方向 经常做这类题对提高思维能力帮助很大 也就高中做的多 现在再做明显落后于年轻人啊 确实要多多关注了
作者: 十万一千 时间: 2014-11-1 00:23
求阴影的那道题有点绕,没做出来啊。。。:L
作者: 郑飞 时间: 2014-11-1 06:08
本帖最后由 郑飞 于 2014-11-1 06:12 编辑
做出来,有点侥幸,其实很多难题(至少这题对我来说不简单)都是套了很多方法后突然做出来的,所以没什么捷径只能多积累了;这不小学里学的多元一次方程解了这个面试题;希望没错吧;
说下思路:
此图就3种碎片组成 把阴影定义成 c , 以正方形边为底边那个三角形为 b, 4个顶点对着的三角形为 a.
已知条件
1:边长r
2: PI 圆周率
观察图片提取方程等式:
1.这个正方形面积等式: r*r = c+4a+4b;
2:扇形: PI*r*r/4 = c+3a+2b:
3:其中直角扇形和正方形的差: r*r - PI*r*r/4 = a + 2b;
得到3元1次方程,剩下的就是计算了,都是小学数知识:L;
作者: 十万一千 时间: 2014-11-1 15:33
这种方法是无解的,用代数解方程变量会被消掉。
作者: 郑飞 时间: 2014-11-1 16:01
那估计是那个差值的方程重复了...
作者: 郑飞 时间: 2014-11-1 16:13
算了下 好像能算出来的:L
作者: 十万一千 时间: 2014-11-1 16:18
r*r = c+4a+4b ①
PI*r*r/4 = c+3a+2b ②
r*r - PI*r*r/4 = a + 2b ③
令r=1, ①-②=③
作者: 郑飞 时间: 2014-11-1 16:24
果然 ;P
作者: 郑飞 时间: 2014-11-1 16:33
还有个关系式 c+2a = PI*r*r/4-(r*r-PI*r*r/4); 左边是正方形两个端点构成的椭圆
作者: 郑飞 时间: 2014-11-1 16:35
本帖最后由 郑飞 于 2014-11-1 16:53 编辑
c+2a = PI*r*r/4-(r*r-PI*r*r/4); 左边是正方形两个端点构成的椭
貌似也不行
作者: Dr.Sparta 时间: 2014-11-1 17:42
顶啊,好贴,先mark
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |