java期末上机复习题目及其问题详解.docx
《java期末上机复习题目及其问题详解.docx》由会员分享,可在线阅读,更多相关《java期末上机复习题目及其问题详解.docx(19页珍藏版)》请在冰豆网上搜索。
![java期末上机复习题目及其问题详解.docx](https://file1.bdocx.com/fileroot1/2022-10/24/44cb11ae-27f1-4b10-8ff7-31f286b6be77/44cb11ae-27f1-4b10-8ff7-31f286b6be771.gif)
java期末上机复习题目及其问题详解
3.运行程序,分析并写出程序执行结果
publicclassless1_3{
publicstaticvoidmain(Stringargs[]){
booleanx,y,xx,yy;
inti=10,j=10,ii=10,jj=10;
x=true||(++i>10);
y=true&&(++j>10);
xx=true|(++ii>10);
yy=true&(++jj>10);
System.out.println("\ni="+i+"\tj="+j);
System.out.println("\nx="+x+"\ty="+y);
System.out.println("\nii="+ii+"\tjj="+jj);
System.out.println("\nxx="+xx+"\tyy="+yy);
}}
4.根据注释填空,并写出正确执行结果
publicclassless1_4
{publicstaticvoidmain(Stringargs[])
{floatfa=102.5f;
intia=3;
Stringsfa,sia,sc;
doublescd;
System.out.println(fa+ia);
sfa=Float.toString(fa);//将fa数值转换为字符串;
sia=Interger.toString(ia);//将ia数值转换为字符串;
sc=sfa+sia;//将字符串sfa和sia连接起来;
System.out.println(“sc=”+sc);
scd=Double.parseDouble(sc);//将字符串sc转换为数值;
System.out.println(scd);
}}
6.(选做)解释划线语句功能,并写出程序执行结果。
publicclassless3_1{
publicstaticvoidmain(Stringarg[]){
floatfdata[]={98.5f,85.2f,100.0f},sum=0.0f;
Stringsdata[]={"","",""},st=newString();
inti;
for(i=0;i<3;i++)
{sum+=fdata[i];
sdata[i]=Float.toString(fdata[i]);
st+=sdata[i]+"";
}
System.out.println(sum);
System.out.println(st);
}}
2下面程序:
在圆类的基础上派生出了圆锥类,按照注释填空,并调试执行成功。
classCircle
{doubler;
Circle(){r=1.0;}//无参构造方法,默认半径为1.0
Circle(doublea)//有参构造方法
{r=a;}
doubleArea(){return3.14*r*r;}//返回面积
doubleGirth(){return2*3.14*r;}//返回周长
}
classConeextendsCircle
{
doubleh;
Cone(){super();h=1.0;}
Cone(doublerr,doublehh)
{super(rr);h=hh;}
doubleV(){return1.0/3*area()*h;}//返回圆锥的体积
}
publicclassless2_3
{
publicstaticvoidmain(Stringargs[])
{Conec1=newCone();
System.out.println(c1.V());
Conec2=newCone(1.0,3.0);
System.out.println(c2.V());
}
}
4.综合题:
根据注释填空,调试并写出执行结果。
abstractclassShape{
publicabstractdoublearea();
}
classCircleextendsShape{
doubler;
Circle(doublerr){r=rr;}
publicdoublearea(){return3.14*r*r;}//实现area()方法
}
classRectangleextendsShape{
doublewidth,height;
Rectangle(doublew,doubleh)
{width=w;height=h;}
publicdoublearea(){returnwidth*heigth;}//实现area()方法
}
classless2_4{
publicstaticvoidmain(Stringargs[])
{doublesum_area=0;
inti;
Shapeshape[];//声明属于Shape类的数组shape;
shape=newShape[5];
shape[0]=newCircle(1.0);
shape[1]=newCircle(2.0);
shape[2]=newCircle(3.0);
shape[3]=newRectangle(1.0,1.0);
shape[4]=newRectangle(2.0,3.0);
for(i=0;i{
sum_area+=shape[i].area();//求所有图形的面积和;
}
System.out.println("形状数组的总面积为:
"+sum_area);
}}
4.根据提示补充程序,调试并执行程序实现栈的功能(接口)。
程序执行结果:
998877665544332211
//请在此处添加语句,进行CharStorage接口的声明实现
interfaceCharStorage{
publicvoidput(Strings);
publicStringget();
}
classStackimplementsCharStorage{
Stringmem[]=newString[9];
intpoint=0;
publicvoidput(Strings){//增加代码
mem[point]=s;
point++;
}
publicStringget(){//增加代码
point--;
returnmem[point];
}}
classTest{
publicstaticvoidmain(Stringargs[]){
Stacks1=newStack();
//循环输入“11”…“99”
for(inti=1;i<=9;i++){
Strings;
s=Integer.toString(i*10+i);
s1.put(s);
}
//循环输出“11”…“99”
for(inti=1;i<=9;i++)
System.out.println(s1.get()+"");
}}
1.写出程序执行结果,解释划线部分功能,并上机验证之。
publicclassless4_1
{
publicstaticvoidmain(Stringargs[])
{
Strings=newString("WewillmodifyaStringbycopy");
System.out.println("s:
\""+s+"\"");
Stringsub1=s.substring(8);
Stringsub2=s.substring(0,8);
System.out.println("fromindex8totheend:
\n"+sub1);
System.out.println("fromindex0to8:
"+sub2);
Stringcons=sub2.concat(sub1);//根据运行效果分析该句功能
//能在sub2的后面追加sub1
System.out.println("Concat:
\n"+cons);
}
}
3.如果ch为StringBuffer对象,ch=”JavaApplet”,下列结果是什么?
尝试编写完整程序验证。
(1)ch.insert(3,’p’);
(2)ch.append(“Basic”);
(3)ch.reverse();//解释方法功能//逆序
publicclassLogin
{
publicstaticvoidmain(Stringargs[])
{
StringBufferch=newStringBuffer("JavaApplet");
ch.insert(3,'p');
System.out.println(ch);
ch.append("Basic");
System.out.println(ch);
ch.reverse();
System.out.println(ch);
}
}
5.下面是哈希表的例题,请调试程序执行,并解释程序中划线语句功能
importjava.util.HashMap;
importjava.util.Iterator;
publicclassArrayListDemo{
publicstaticvoidmain(Stringargs[])
{
HashMapmap=newHashMap();
map.put("S20099",80);
map.put("S20034",90);
map.put("S20015",90);
map.put("S20036",70);
map.put("S20077",60);
map.put("S20088",80);
System.out.println("keySt="+map.keySet());
System.out.println("values="+map.values());
System.out.println("key=S20034value="+map.get("S20034"));
System.out.println("valuescontains100is"+map.containsValue(100));
System.out.println("keySetcontainsS20023is"+map.containsKey("S20023"));
intsum=0;
intsize=map.size();
for(Iteratoriterator=map.keySet().iterato