java题库.docx
《java题库.docx》由会员分享,可在线阅读,更多相关《java题库.docx(25页珍藏版)》请在冰豆网上搜索。
java题库
1、以下哪项不可以插入空白处()
publicclassInterss{…}
(A)importjava.awt.*(B)packagepvv;
(C)classAbc{…}(D)publicclassOuterss{…}
2、下面程序的运行结果是()
Stringstr1="LoveJAVA";
Stringstr2="Love"+newString("JAVA");
System.out.println(str2+5);
(A)LoveJAVA5(B)Love(C)JAVA(D)LoveJAVF
3、下列哪项不是java的合法标识符()
(A)abstract(B)puvlic
(C)m0nk8(D)_byebye
4、根据下列代码,正确的一项是()
String[]a=newString[10];
int[]b=newint[10];
(A)a[5]=null;a.length=10(B)b[5]=null;b.length=10
(C)a[5]=0;a.length=9(D)b[5]=0;b.length=9
5、下面代码的运行结果为:
()
publicclassIncrement{
publicstaticvoidmain(Stringargs[]){
inta;
a=6;
System.out.print(a);
System.out.print(a++);
System.out.print(a);}}
(A)666 (B)667(C)677(D)676
6、下列哪项的表达式不可以作为循环条件()
(A)i++;(B)bEqual=str.equals("q");
(C)i>15;(D)count==i;
7、下列方法中可以用来创建一个新线程的是()
A.实现java.lang.Readable接口并重写read()方法到缓冲区
B.实现java.lang.Runnable接口并重写start()方法
C.实现java.lang.Thread类并实现start()方法
D.继承java.lang.Thread类并重写run()方法
8、下面的代码,当输入为1的时候,程序的返回值是()
publicstaticintgetValue(inti){
intadd=0;
……………………装………………………………………………………………订………………………………………………………线……
学院:
_________________________班级:
__________________学号:
________________姓名:
___________________
……………………密………………………………………………………………封………………………………………………………线……
switch(i){
case1:
result=add+i;
case2:
result=add+i*10;
case3:
result=add+i*100;
}returnresult;}
(A) 1(B)11(C) 100(D) 111
9、将集合转成数组的方法是( )
(A) asList() (B) toCharArray()
(C) toArray()(D) copy()
10、以下能以键——值对的方式存储对象的接口是( )
(A)java.util.Collection(B)java.util.Map
(C)java.util.HashMap (D)java.util.Set
11、以下哪项是用于定义成员常量?
()
(A)import(B)default(C)abstract(D)final
12、下面程序的运行结果是()
Stringstr1="hello";
Stringstr2="he"+newString("llo");
System.out.println(str1==str2);
(A)false(B)he(C)llo(D)hello
13、下列哪项可以作为java标识符()
(A)new(B)puvlic
(C)3monks(D)#pass
14、面向对象的特征不包括()
(A)多态(B)跨平台(C)抽象(D)继承
15、下面代码的运行结果为:
()
publicclassfoo{
publicstaticvoidmain(String[]args){
Strings;
System.out.println("s="+s);}}
(A)代码得到编译,并输出“s=”
(B)代码得到编译,并输出“s=null”
(C)由于Strings没有初始化,代码不能编译通过
(D)代码得到编译,但捕获到 NullPointException异常
16、 System.out.println("5"+2);的输出结果应该是()
(A)52(B)7(C)5(D)2
17、程序输出结果是()
publicclassExample{
Stringstr=newString("good");
char[]ch={'a','b','c'};
publicstaticvoidmain(Stringargs[]){
Exampleex=newExample();
ex.change(ex.str,ex.ch);
System.out.print(ex.str+"and");
System.out.print(ex.ch);}
publicvoidchange(Stringstr,charch[]){
str="testok";
ch[0]='g';}}
(A) goodandabc(B)goodandgbc
(C) testokandabc(D) testokandgbc
18、下面的方法,当输入为2的时候返回值是()
publicstaticintgetValue(inti){
intresult=0;
……………………装………………………………………………………………订………………………………………………………线……
学院:
_________________________班级:
__________________学号:
________________姓名:
___________________
……………………密………………………………………………………………封………………………………………………………线……
switch(i){
case1:
result=result+i;
case2:
result=result+i*2;
case3:
result=result+i*3;
}returnresult;}
(A) 2(B)4(C) 6(D) 10
19、下列关于抽象类和接口的区别,错误的是()
(A)接口是公开的,里面不能有私有的方法或变量,而抽象类可以
(B)一个类只能使用一次继承关系
(C)一个类可以实现多个接口,实现多重继承
(D)实现接口不需要实现接口里定义的所有方法
20、以下哪个不是Java的关键字()
(A)TRUE(B)new(C)void(D)static
下面的代码将要实现一个代表一个点的类,用该类实例化一组点,根据每个点到原点的距离从小到大排序输出这些点。
importjava.util.*;//导入util包
importjava.io.*;//导入io包
importjava.math.*;//导入math包
classSortablePointimplementsComparable
{privateintxPos;
privateintyPos;
publicSortablePoint(){}
publicSortablePoint(intx,inty)
{xPos=x;//点x坐标设置
yPos=y;//点y坐标设置
}
publicintgetX(){returnxPos;}//返回点x坐标值
publicvoidsetX(intx){xPos=x;}
publicintgetY(){returnyPos;}//返回点y坐标值
publicvoidsetY(inty){yPos=y;}
privateintsquaredDistance(){
returnxPos*xPos+yPos*yPos;
}
publicdoublegetDistance(){
returnMath.sqrt(squaredDistance());//使用math计算的距离并返回值}
publicStringtoString(){
return“(”+getX()+“,”+getY()+“)”+“\tdistance=”+pt.getDistance();
}
//实现了Comparable接口
publicintcompareTo(SortablePointother){
if(this.squaredDistance()>other.squaredDistance()){//距离大于原点时
return1;
}
elseif(this.squaredDistance()return0;
}
else{
return-1;
}
}
}
下面是一个简单的银行账户系统,实现简单的开户,存取款的功能。
请填写空白处完善程序。
importjava.util.*;//导入util包
importjava.io.*;//导入io包
publicclassDepositAccount{
staticdoublerate_Year=0.023;
privateStringaccountNum;//声明accountNum,私有,字符串
privateStringuserName;
privatedoublebalance;
publicvoidopen(StringaccountNum,Stringusername,doublebalance){//带参数的开户功能Open
{
this.accountNum=accountNum;
this.userName=userName;
this.balance=balance;
System.out.println(accountNum+""+userName+""+balance);//显示账户名,账号,账户金额
}
publicvoidDeposit(doublem){
balance+=m;
System.out.println("该用户存款金额为:
"+m);
}
publicbooleanwithdrawl(floatm){
if(balance-m>0)//取款条件判断
{
balance-=m;
System.out.println("成功取款:
"+m);
returntrue;
}
else
{
System.out.println("所取金额数大于账户余额:
");
returnfalse;
}}
publicvoidcal_Rate(){
doublerate=balance*rate_Year;
System.out.println("该用户的年利息为:
"+rate+"月利息为:
"+(float)rate/12);
}
publicclassAccount{
publicstaticvoidmain(String[]args)
{
//TODOAuto-generatedmethodstub
DepositAccountsaver=newDepositAccount();//创建银行账户对象
saver.open("32","andre",10000);//开户,账号为自己学号,用户名为自己姓名
saver.Deposit(2000);
saver.withdrawl(100);//取款100
saver.cal_Rate();
}
}
bianchengti
1、设计并实现一个模拟计算器的程序,根据用户输入的两个操作数和一个运算符[+,-,*,/],显示结果。
packagetemp;
importjava.util.Scanner;
publicclasstemp{
publicstaticvoidmain(String[]args){
Scannerscanner=newScanner(System.in);
System.out.print("请输入第一个操作数:
");
doublea=scanner.nextDouble();
System.out.print("请输入运算符号:
");
Stringoperation=scanner.next();
System.out.print("请输入第二个操作数:
");
doubleb=scanner.nextDouble();
doubleresult=0;
switch(operation){
case"+":
result=a+b;
break;
case"-":
result=a-b;
break;
case"*":
result=a*b;
break;
case"/":
if(b==0){
System.out.println("输出不能为0,请重新输入!
");
scanner.close();
return;
}
result=a/b;
break;
default:
System.out.println("您输入的操作符号有误,请重新输入!
");
scanner.close();
return;
}
System.out.println(a+operation+b+"="+result);
scanner.close();
}
}
2、按以下要求编写程序
(1)创建一个Rectangle类,添加width和length成员变量
(2)在Rectangle中添加两种方法分别计算的周长和面积
(3)编程利用Rectangle输出一个长10宽15高为40的长方体的面积和体积
packagetemp;
publicclassRectangle{
//
(1)创建一个Rectangle类,添加width和length成员变量
//
(2)在Rectangle中添加两种方法分别计算的周长和面积
//(3)编程利用Rectangle输出一个长10宽15高为40的长方体的面积和体积
privatedoublelength;
privatedoublewidth;
privatedoubleheight;
publicRectangle(doublelength,doublewidth,doubleheight){
this.length=length;
this.width=width;
this.height=height;
}
//计算面积
publicvoidgetArea(){
doublearea=2*(length*width+length*height+width*height);
System.out.println("长方体面积为:
"+area);
}
//计算体积
publicvoidgetVolume(){
doublevolume=length*width*height;
System.out.println("长方体体积为:
"+volume);
}
publicstaticvoidmain(String[]args){
Rectanglerectangle=newRectangle(10,15,40);
rectangle.getArea();
rectangle.getVolume();
}
}
3、打印空心菱形如图所示。
*
**
**
**
**
**
**
**
**
**
*
提示:
共11行,分上下部分使用循环进行打印。
packagetemp;
publicclassRectangle{
publicstaticvoidmain(String[]args){
intlay=5;
for(inti=1;i<=lay;i++)//i表示空心菱形上半部分行数;类似于金字塔行数
{
for(intj=1;j<=lay-i;j++)//j表示每行"*"号前面的空格数
{
System.out.print("");
}
for(intk=1;k<=2*i-1;k++)//k表示每行要打印的"*"号
{
if(k==1||k==2*i-1)//如果要打印的"*"是第一个或最后一个则打印出来
{
System.out.print("*");
}
else
System.out.print("");//如果要打印的"*"不是第一个或最后一个则打印空格
}
System.out.println();
}//以上打印出来的是空心菱形的上半部分
for(inti=1;i<=lay-1;i++)//空心菱形下半部分的行数为lay-1行;比如上半部分4行,则下半部分为3行才能构成菱形
{
for(intj=1;j<=i;j++)//每行空格数
{
System.out.print("");
}
for(intk=1;k<=2*(lay-i)-1;k++)//下半部分每行总的"*"数
{
if(k==1||k==2*(lay-i)-1)//如果"*"处在第一和最后一位则打印出来
{
System.out.print("*");
}else
System.out.print("");//如果"*"不是处在第一和最后一位则打印出空格
}
System.out.println();
}
}
}
4、设计实现一个简单的银行账户系统,实现简单的操作包括开户、存款、取款、查询、密码修改。
(1)设置账号、存款金额参数的访问控制为私有。
(2)设计实现上述的5个类Open,Deposit,Withdraw,Query,changePassword。
(3)设计当修改密码次数超过5次后,显示提示信息的功能。
(4)编写测试程序,创建学生账户,账号为自己学号,姓名为自己姓名,存入500元,取出5毛。
packagetemp;
//设计实现一个简单的银行账户系统,实现简单的操作包括开户、存款、取款、查询、密码修改。
//
(1)设置账号、存款金额参数的访问控制为私有。
//
(2)设计实现上述的5个类Open,Deposit,Withdraw,Query,changePassword。
//(3)设计当修改密码次数超过5次后,显示提示信息的功能。
//(4)编写测试程序,创建学生账户,账号为自己学号,姓名为自己姓名,存入500元,取出5毛。
publicclasstest{
publicstaticvoidmain(String[]args){
Accountaccount=newAccount();
account.open(32,"hello",500);
account.query();
account.withdraw
(1);
account.query();
account.changePassword("andre");
account.query();
}
}
//开户类
classAccount{
privateintid;
publicStringpassword;
privatefloatbalance;
publicvoidopen(intid,Stringpassword,floatbalance){
this.id=id;
this.password=password;
this.balance=balance;
}
publicvoiddeposit(floatf){
this.balance+=f;
}
publicvoidwithdraw(floatf){
if(balance-f>=0){
balance-=f;
return;
}
else{
System.out.println("您的账户余额不足,请退出重新输入取款金额");
return;
}
}
publicvoidquery(){
System.out.print("您当前账户余额为:
"+balance+"\t");
System.out.println("您当前账户密码为:
"+password);
}
publicvoidchangePassword(StringnewPassword){
intflag=0;
if(this.password.equals(newPassword)==true)
flag++;
if(flag>=5){
Syste