javajava基础编程题实现下题>。。

JAVA编程题全集(100题及答案).doc
扫描二维码,下载文件到手机
您的VIP会员已过期,是否续费?
用户应遵守著作权法,尊重著作权人合法权益,不违法上传、存储并分享他人作品。举报邮箱:
京网文[0号 京ICP证100780号
《提醒》6月30日即将清空免费用户文件
尊敬的用户,很抱歉地通知您,微盘于6月30日停止向免费个人用户提供存储服务。()您的文件处于排队等待删除状态,无法进行操作,将于近期删除完毕。感谢您5年来对微盘的支持,此次调整给您带来的不便我们深表歉意。
补充说明:
1、新浪VIP邮箱用户、微博会员及在会员有效期内可继续使用存储服务,文件依然保留。
2、微盘近期将对不良信息进行集中清理,因此全面暂停分享及站内搜索服务至整改结束。
3、若您有疑问,可将问题及您的微博昵称私信至@微盘 ,或者发邮件至,我们将尽快为您处理。华为校招上机笔试考试题(A卷)——java实现 - 编程当前位置:& &&&华为校招上机笔试考试题(A卷)——java实现华为校招上机笔试考试题(A卷)——java实现&&网友分享于:&&浏览:0次华为校招上机笔试试题(A卷)——java实现华为校招上机笔试试题(A卷)——java实现
编程题:A1.最小长方形,
A2. 判断一个数字中是否包含两个相同的子串,
A3. 取石子游戏.
A1.最小长方形
java代码:
import java.util.ArrayL
import java.util.L
import java.util.S
public class MinRectangle {
public static void main(String arg[]){
List&Integer& ldata=new ArrayList&Integer&();
boolean flag=false;
int testNum=0;
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
int x=cin.nextInt();
int y=cin.nextInt();
if (Math.abs(x)&1000||Math.abs(y)&1000) return;
if (x==0&&y==0){
if (flag){
flag=true;
testNum++;
}else flag=false;
ldata.add(x);
ldata.add(y);
cin.close();
int size=ldata.size();
for (int i=0;i&testNi++){
int minX=Integer.MAX_VALUE;
int minY=Integer.MAX_VALUE;
int maxX=Integer.MIN_VALUE;
int maxY=Integer.MIN_VALUE;
for (;k&size/2;k++){
int x=ldata.get(2*k);
int y=ldata.get(2*k+1);
if (x==0&&y==0){
minX=Math.min(x,minX);
minY=Math.min(y,minY);
maxX=Math.max(x, maxX);
maxY=Math.max(y,maxY);
if (minX!=maxX&&minY!=maxY&&minX!=Integer.MAX_VALUE&&
minY!=Integer.MAX_VALUE&&maxX!=Integer.MIN_VALUE&&maxY!=Integer.MIN_VALUE){
System.out.println(minX+" "+minY+" "+maxX+" "+maxY);
A2. 判断一个数字中是否包含两个相同的子串
java代码:
import java.util.S
public class ChildStr {
private int
public void input(){
Scanner cin=new Scanner(System.in);
str=cin.nextLine();
len=str.length();
if (str!=null&&len&9){
for (int i=0;i&i++){
char c=str.charAt(i);
if (c&'1'||c&'9'){
public void search(){
if (str==null){
String s=null;
for (int i=0;i&len-1;i++){
s=str.substring(i,i+1);
if (str.lastIndexOf(s)!=i){
System.out.println(1);
System.out.println(0);
public static void main(String arg[]){
ChildStr cs=new ChildStr();
cs.input();
cs.search();
A3. 取石子游戏
java代码:
import java.util.S
public class FibGame {
private int[] fib=new int[48];
public void f(){
fib[0]=0;fib[1]=1;
for (int i=2;i&48;i++){
fib[i]=fib[i-1]+fib[i-2];
public void input(){
Scanner cin=new Scanner(System.in);
while(cin.hasNext()){
n=cin.nextInt();
if (n&=1||n&48){
System.out.println("请输入大于2小于48的数字");
boolean flag=false;
for (int i=3;i&48;i++){
if (n==fib[i]){
flag=true;
if (flag){
System.out.println("Second win");
System.out.println("First win");
public static void main(String arg[]){
FibGame fg=new FibGame();
fg.input();
版权声明:本文为博主原创文章,未经博主允许不得转载。
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有Java程序员集合框架面试题
感谢的投递
Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性就有必要掌握集合框架。
这里有一些实用问题,常在核心Java面试中问到。
1、 什么是Java集合API
Java集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言之,API在上层完成以下几件事:
● 编程更加省力,提高城程序速度和代码质量
●&非关联的API提高互操作性
●&节省学习使用新API成本
●&节省设计新API的时间
●&鼓励、促进软件重用
具体来说,有6个集合接口,最基本的是Collection接口,由三个接口Set、List、SortedSet继承,另外两个接口是Map、SortedMap,这两个接口不继承Collection,表示映射而不是真正的集合。
2、 什么是Iterator
一些集合类提供了内容遍历的功能,通过java.util.Iterator接口。这些接口允许遍历对象的集合。依次操作每个元素对象。当使用Iterators时,在获得Iterator的时候包含一个集合快照。通常在遍历一个Iterator的时候不建议修改集合本省。
3、 Iterator与ListIterator有什么区别?
Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。
4、 什么是HaspMap和Map?
Map是接口,Java 集合框架中一部分,用于存储键值对,HashMap是用哈希算法实现Map的类。
5、 HashMap与HashTable有什么区别?对比Hashtable VS HashMap
两者都是用key-value方式获取数据。Hashtable是原始集合类之一(也称作遗留类)。HashMap作为新集合框架的一部分在Java2的1.2版本中加入。它们之间有一下区别:
●&HashMap和Hashtable大致是等同的,除了非同步和空值(HashMap允许null值作为key和value,而Hashtable不可以)。
●&HashMap没法保证映射的顺序一直不变,但是作为HashMap的子类LinkedHashMap,如果想要预知的顺序迭代(默认按照插入顺序),你可以很轻易的置换为HashMap,如果使用Hashtable就没那么容易了。
●&HashMap不是同步的,而Hashtable是同步的。
●&迭代HashMap采用快速失败机制,而Hashtable不是,所以这是设计的考虑点。
6、 在Hashtable上下文中同步是什么意思?
同步意味着在一个时间点只能有一个线程可以修改哈希表,任何线程在执行hashtable的更新操作前需要获取对象锁,其他线程等待锁的释放。
7、 什么叫做快速失败特性
从高级别层次来说快速失败是一个系统或软件对于其故障做出的响应。一个快速失败系统设计用来即时报告可能会导致失败的任何故障情况,它通常用来停止正常的操作而不是尝试继续做可能有缺陷的工作。当有问题发生时,快速失败系统即时可见地发错错误告警。在Java中,快速失败与iterators有关。如果一个iterator在集合对象上创建了,其它线程欲“结构化”的修改该集合对象,并发修改异常 (ConcurrentModificationException) 抛出。
8、 怎样使Hashmap同步?
HashMap可以通过Map m = Collections.synchronizedMap(hashMap)来达到同步的效果。
9、 什么时候使用Hashtable,什么时候使用HashMap
基本的不同点是Hashtable同步HashMap不是的,所以无论什么时候有多个线程访问相同实例的可能时,就应该使用Hashtable,反之使用HashMap。非线程安全的数据结构能带来更好的性能。
如果在将来有一种可能—你需要按顺序获得键值对的方案时,HashMap是一个很好的选择,因为有HashMap的一个子类LinkedHashMap。所以如果你想可预测的按顺序迭代(默认按插入的顺序),你可以很方便用LinkedHashMap替换HashMap。反观要是使用的Hashtable就没那么简单了。同时如果有多个线程访问HashMap,Collections.synchronizedMap()可以代替,总的来说HashMap更灵活。
10、为什么Vector类认为是废弃的或者是非官方地不推荐使用?或者说为什么我们应该一直使用ArrayList而不是Vector
你应该使用ArrayList而不是Vector是因为默认情况下你是非同步访问的,Vector同步了每个方法,你几乎从不要那样做,通常有想要同步的是整个操作序列。同步单个的操作也不安全(如果你迭代一个Vector,你还是要加锁,以避免其它线程在同一时刻改变集合).而且效率更慢。当然同样有锁的开销即使你不需要,这是个很糟糕的方法在默认情况下同步访问。你可以一直使用Collections.sychronizedList来装饰一个集合。
事实上Vector结合了“可变数组”的集合和同步每个操作的实现。这是另外一个设计上的缺陷。Vector还有些遗留的方法在枚举和元素获取的方法,这些方法不同于List接口,如果这些方法在代码中程序员更趋向于想用它。尽管枚举速度更快,但是他们不能检查如果集合在迭代的时候修改了,这样将导致问题。尽管以上诸多原因,oracle也从没宣称过要废弃Vector.
原文:& &编译:在线 –&
[责任编辑:ugmbbc]
-5-4-3-2-1012345
当前平均分: 打分后显示
-5-4-3-2-1012345
当前平均分: 打分后显示
Advertisment ad adsense googles

我要回帖

更多关于 java基础编程题 的文章

 

随机推荐