java笔试题总结.docx
- 文档编号:18353351
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:67
- 大小:44.62KB
java笔试题总结.docx
《java笔试题总结.docx》由会员分享,可在线阅读,更多相关《java笔试题总结.docx(67页珍藏版)》请在冰点文库上搜索。
java笔试题总结
1、观察下面代码,最终会输出什么结果。
publicclassTest{
publicvoidmyMethod(Strings){
System.out.println("MyString");
}
publicvoidmyMethod(Objecto){
System.out.println("MyObject");
}
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
t.myMethod(null);
}
}
2、java笔试(写一个类,实现接口并实现反转字符串的功能)
interfaceinverseString{
publicStringinverseString(Strings);
}
publicclassInttestimplementsinverseString{
publicStringinverseString(Strings){
char[]a=newchar[s.length()];
char[]b=newchar[s.length()];
inti=0;
chartemp;
s.getChars(0,s.length(),a,0);
for(i=0;i b[i]=a[s.length()-(i+1)]; } returnnewString(b); } publicstaticvoidmain(String[]args){ inverseStringis=newInttest(); System.out.println(is.inverseString("abcdef")); } } 3.是否可以继承String类? (B) A.是B.否 4.List,Set,Map是否都继承自Collection接口? (B) [hide]A.是B.否 5.抽象类是否可实现(implements)接口? (A) A.是B.否 6.以下代码输出结果是? (i=3) publicclassInttest{ publicstaticvoidmain(Stringargs[]){ classFoo{ publicinti=3; } Objecto=(Object)newFoo(); Foofoo=(Foo)o; System.out.println("i="+foo.i); } } 7、实例化内部类 publicclassInttest{ publicclassFoo{ publicinti=3; } publicstaticvoidmain(Stringargs[]){ Inttestin=newInttest(); Foof=in.newFoo(); System.out.println("i="+f.i); } } 8、在一个平面上画1999条直线最多能将这一平面划分成多少个部分? 答案: 0条直线分平面为1份 1条(1+1)份,2条(2+1+1)份,3条(3+2+1+1份1999条(1999+1998+1997+——-+2+1+1)份为1999001份 publicintprintArea(intnumber){ //计算平面总和(求和公式)an*(a1+an)/2 //最后加1代表0的时候有一个平面。 intnumArea=number*(number+1)/2+1; returnnumArea; }[大连华信计算机技术有限公司JAVA程序员笔试题] 上海杰普软件科技有限公司java招聘笔试题(corejava部分) 9、在main(String[]args)方法内是否可以调用一个非静态方法? 答案: 不能 10、同一个文件里是否可以有两个public类? 答案: 不能 11、方法名是否可以与构造器的名字相同? 答案: 可以。 12、Sqlserver中如有表table中一条记录的一个字段A为null用selectcount(A)fromtable 查询结果是什么? 答案: 所有不为NULL记录的值。 例: selectcount(id_login_date)fromccs_userwhereid='FJ40001'; 如果“id_login_date”为NULL,返回值为0,反之,返回值1。 13、抽象类可以是final、private吗? 答案: 不能 14、京东商城的笔试题: 用java语言打印出a,b,c,d的所有可能组合…… (1)长度固定: importjava.util.ArrayList; importjava.util.List; publicclassPermutation{ privatecharinitial; privatecharlast; List publicstaticvoidmain(String[]args){ newPermutation('a','d').start(); } publicPermutation(charinitial,charlast){ this.initial=initial; this.last=last; for(charc=this.initial;c<=this.last;c++){ chars.add(c); } } publicvoidstart(){ next(chars,newArrayList } privatevoidnext(List if(unused.isEmpty()){ System.out.println(used); }else{ for(inti=0;i List List curUsed.add(cur.remove(i)); next(cur,curUsed); } } } } (2)长度不定: 如果你想长度不固定,就是会出现abc,dc,c这样的只需修改next函数 privatevoidnext(List if(! unused.isEmpty()){ for(inti=0;i List List curUsed.add(cur.remove(i)); System.out.println(curUsed); next(cur,curUsed); } } } 15、排列组合是组合学最基本的概念。 所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。 组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。 排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数。 排列组合与古典概率论关系密切。 定义及公式 排列的定义及其计算公式: 从n个不同元素中,任取m(m≤n)个元素按照一 定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号A(n,m)表示。 A(n,m)=n(n-1)(n-2)……(n-m+1)=n! /(n-m)! 此外规定0! =1 组合的定义及其计算公式: 从n个不同元素中,任取m(m≤n)个元素并成一组, 叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数。 用符号C(n,m)表示。 C(n,m)=A(n,m)/m! =n! /((n-m)! *m! );C(n,m)=C(n,n-m)。 其他排列与组合公式从n个元素中取出m个元素的循环排列数=A(n,m)/m=n! /m(n-m)! .n个元素被分成k类,每类的个数分别是n1,n2,...nk这n个元素的全排列数为n! /(n1! ×n2! ×...×nk! ).k类元素,每类的个数无限,从中取出m个元素的组合数为C(m+k-1,m)。 publicclassPermutation{ /** *从m个元素中找出n个进行组合。 *@paramn待组合的数(0<=n<=m) *@paramm总数 *@return */ publicintgetCombination(intn,intm){ intresult=0; result=getFactorial(m)/((getFactorial(m-n))*(getFactorial(n))); returnresult; } /** *从m个元素中找出n个进行排列。 *@paramn待排列的数(0<=n<=m) *@paramm总数 *@return */ publicintgetArrangement(intn,intm){ intresult=0; result=getFactorial(m)/(getFactorial(m-n)); returnresult; } /** *获取n的阶乘 *@paramn待求阶乘的数字 *@return */ publicintgetFactorial(intn){ intresult=1; for(inti=1;i<=n;i++){ result=result*i; } returnresult; } //publicintgetFactorial(intn){ //if(n==1)return1; //elsereturnn*getFactorial(n-1); //}递归方式求阶乘。 publicstaticvoidmain(String[]args){ Permutationpermutation=newPermutation(); System.out.println("组合: "+permutation.getCombination(2,3)); System.out.println("排列: "+permutation.getArrangement(2,3)); } } 16、定义一组数组1,2,3,4,5把数字组合用JAVA语言打印出来,在数字的第二位不能是1,而3跟4又不能在一起。 classtest{ test(Strings){ char[]c=newchar[s.length()]; c=s.toCharArray(); System.out.println("排列如下: "); setChar(c,0,s.length()-1); } voidsetChar(char[]cc,inta,intb){ Stringss=String.valueOf(cc); if(a==b) show(cc); for(inti=a;i chart=cc[a]; cc[a]=cc[i]; cc[i]=t; setChar(cc,a+1,b); cc=ss.toCharArray(); } } voidshow(char[]chars){ if(check(chars)) System.out.println(String.valueOf(chars)); } staticbooleancheck(char[]chars){ if(chars.length>=2&&chars[1]=='1') returnfalse; for(inti=0;i if((chars[i]=='3'&&chars[i+1]=='4') ||(chars[i]=='4'&&chars[i+1]=='3')) returnfalse; returntrue; } } publicclassAllSet{ publicstaticvoidmain(String[]args){ int[]a={1,2,3,4,5}; StringBuffersb=newStringBuffer(); for(inti=0;i<5;i++) sb.append(a[i]); newtest(sb.toString()); } } 17、简述对Vector类的理解,并写出常用到的对向量的增、删、插、定位及获取长度的方法。 18、小明有12枚硬币,共3角6分钱。 其中有5枚硬币是一样的,那么这5枚硬币一定是: 5枚5分的,4枚2分的,3枚一分的。 19、名词解释 JAXP: JAXP是API,但更准确地说是抽象层。 它没有提供解析XML的新方法,没有添加到SAX或DOM,也没有为Java和XML处理提供新功能。 (如果您还不相信这一点,那么阅读这篇文章算对了。 )但是,JAXP使得使用DOM和SAX来处理一些困难任务变得更容易。 它还允许以开发商中立的方式处理一些在使用DOM和SAXAPI时可能遇到的特定于开发商的任务。 没有SAX、DOM或另一个XML解析API,则无法解析XML。 我曾经看到过许多关于将SAX、DOM、JDOM和dom4j与JAXP进行比较的请求,但作这样的比较是不可能的,因为前面四个API与JAXP具有完全不同的用途。 SAX、DOM、JDOM和dom4j都解析XML。 JAXP提供了一种到达这些解析器及其所涉及的数据的方法,但并未提供一种解析XML文档的新方法。 如果您要正确使用JAXP,则理解此差别是非常必要的。 这还很有可能使您远远领先于您的XML开发同行。 20、shorts1=1;s1=s1+1;有什么错? shorts1=1;s1+=1;有什么错? 因为s1+1就是int类型 在s1+=1;中,s1是short类型的,1被转换为short型,所以不报错 21、下列说法正确的是 A.Java语言不区分大小写 B.Java程序以类为基本单位 C.JVM为Java虚拟机JVM的英文缩写 D.运行Java程序需要先安装JDK 答案: B,C,D 22、publicclassDemo5{ publicstaticvoidmain(String[]args){ D5d1=newD5(); D5d2=newD5(); D5d3=newD5(); d1.start(); d2.start(); d3.start(); } } classD5extendsThread{ privatestaticinti=100; publicvoidrun(){ while(true){ synchronized(this.getClass()){ if(i>0){ try{ Thread.sleep(10); }catch(InterruptedExceptione){ } System.out.println("sales: "+i); i--; } } } } } 23、判断传入的字符串是否在制定的字符串中。 packagecom.fit; publicclassTestMain{ publicstaticbooleanisSelectDomainStrings(StringdataStr){ if(dataStr==null) returnfalse; Stringstr="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-_%"; try{ char[]c_arr=dataStr.toCharArray(); char[]s_arr=str.toCharArray(); for(inti=0;i booleanflag=false; for(intj=0;j if(c_arr[i]==s_arr[j]){ flag=true; break; } } if(! flag) returnfalse; } }catch(Throwablee){ returnfalse; } returntrue; } publicstaticvoidmain(String[]args){ inti; for(i=0;i booleanb=isSelectDomainStrings(args[i]); System.out.println(args[i]+": "+b); } } } 24、【程序30】 题目: 有一个已经排好序的数组。 现输入一个数,要求按原来的规律将它插入数组中。 1. 程序分析: 首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。 packagecom.fit; importjava.util.Random; publicclassArraySort{ publicstaticvoidmain(String[]args) {inttemp=0; intmyarr[]=newint[12]; Randomr=newRandom(); for(inti=1;i<=10;i++) myarr[i]=r.nextInt(1000); for(intk=1;k<=10;k++) System.out.print(myarr[k]+","); for(inti=1;i<=9;i++) for(intk=i+1;k<=10;k++) if(myarr[i]>myarr[k]) { temp=myarr[i]; myarr[i]=myarr[k]; myarr[k]=temp; } System.out.println(""); for(intk=1;k<=10;k++) System.out.print(myarr[k]+","); myarr[11]=r.nextInt(1000); for(intk=1;k<=10;k++) if(myarr[k]>myarr[11]) { temp=myarr[11]; for(intj=11;j>=k+1;j--) myarr[j]=myarr[j-1]; myarr[k]=temp; } System.out.println(""); for(intk=1;k<=11;k++) System.out.print(myarr[k]+","); } } 【程序29】 题目: 求一个3*3矩阵对角线元素之和 1.程序分析: 利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。 publicclassEx29{ publicstaticvoidmain(String[]args){ doublesum=0; intarray[][]={{1,2,3},{4,5,6},{7,7,8}}; for(inti=0;i<3;i++) for(intj=0;j<3;j++){ if(i==j) sum=sum+array[i][j]; } System.out.println(sum); } } 【程序28】 题目: 对10个数进行排序 1.程序分析: 可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即用第二个元素与后8个进行比较,并进行交换。 publicclassEx28{ publicstaticvoidmain(String[]args){ intarr[]=newint[11]; Randomr=newRandom(); for(inti=0;i<10;i++){ arr[i]=r.nextInt(100)+1;//得到10个100以内的整数 } Arrays.sort(arr); for(inti=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 笔试 总结