sum=sum+(4);a[i]
ave=sum/(a.length-2);
System。
out。
println(”\n去掉一个最高分"+(5)+a[a。
length-1]
",”+”去掉一个最低分"+a[0]+","+”最后得分是:
"+ave);
}
}
程序填空题
第2题。
这是一个普通用户
货物:
电视机
价格:
3800.0
数量:
2
总价:
7600.0
这是一个会员用户
货物:
洗衣机
价格:
1980.0
数量:
3
总价:
5940。
0
作为会员用户,享受九折优惠
总价:
5346。
0
请将程序补充完整。
abstractclassGoods{
(1)goods;String
floatprice;
double
(2);total
intnum;
publicabstractvoidgoods(String_goods,float_price,int_num);
}
classCommonextendsGoods{
publicvoid(3){showCommon()
System。
out。
println("这是一个普通用户”);
}
publicvoidgoods(String_goods,float_price,int_num){
goods=_goods;
price=_price;
num=_num;
total=_price*_num;
}
publicvoidshowBuy(){
System.out.println(”货物:
"+goods);
System.out。
println("价格:
"+price);
System。
out。
println(”数量:
”+num);
System。
out。
println(”总价:
"+total);
}
}
finalclassAssociatorextendsCommon{
publicvoidshowAssociator(){
System.out。
println(”这是一个会员用户”);}
publicvoidshowBuy(){
super。
showBuy();
System.out。
println("作为会员用户,享受九折优惠”);
System.out。
println(”总价:
”+___(4)_____);total*0。
9
}
}
publicclassBuyGoods{
publicstaticvoidmain(Stringargs[]){
CommonAA=newCommon();
AssociatorBB=newAssociator();
AA。
showCommon();
AA。
goods("电视机",3800,2);
_______(5)________;AA。
showBuy()
System.out。
println();
BB。
goods(”洗衣机”,1980,3);
BB.showAssociator();
BB。
showBuy();
}
}
操作题
(一)程序调试题(本大题3小题,共8个错误,每改正一个2。
5分,共20分)
1.从”C:
\素材"中取出LoopEx。
java文件,该程序有三个错误。
正确的程序运行时应输出如下的结果:
按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:
\KS目录中。
请务必在所修改的语句后加上注释语句:
//*****.
LoopEx.java:
publicclassLoopEx{
publicvoidmain(String[]args){
intsize=5;
for(inti=0:
i〈size;i++){
for(intj=i;j>=0;j-—)
System。
out。
print(i);
System。
out.print();
}
}
}
2.从”C:
\素材”中取出Exchange.java文件,该程序在if语句中有两个错误。
程序的功能是:
当键盘输入一个小于"100"的数字字符串(例如”56"),程序将其转换成汉字表达方式并输出(”伍拾陆")。
请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:
\KS目录中.请务必在所修改的语句后加上注释语句:
//*****。
Exchange。
java:
importjava。
io。
*;
publicclassExchange{
publicstaticvoidmain(Stringargs[])throwsIOException{
Stringhz_table[]={”零”,”壹","贰”,”叁","肆","伍”,"陆”,”柒”,”捌",”玖"};
intnum,g,s;
Stringstr;
BufferedReaderbuf;
buf=newBufferedReader(newInputStreamReader(System.in));
System。
out。
print("请输入整数:
");
str=buf.readLine();
num=Integer.parseInt(str);
if(num>=2)
System。
out。
print(”输入的数已超出范围");
else{
if(str.length()==2){
s=num%10;
g=num%10;
System.out。
println(”你输入的数字是:
"
+hz_table[s]+”拾”+hz_table[g]);
}
else{
g=num;
System.out.println("你输入的数字是:
"+hz_table[g]);
}
}
}
}
3.从”C:
\素材”中取出Complex_ex。
java文件,该程序在Complex类声明代码模块中有三个错。
运行正确程序应产生如图所示的结果。
(该图示是用Eclipse运行的显示效果,仅作参考).
请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:
\KS目录中.请务必在所修改的语句后加上注释语句:
//*****。
Complex_ex。
java:
importjava.applet.*;
importjava。
awt。
*;
publicclassComplex_exextendsApplet{
Complexx,y;
publicvoidinit(){
inta=7;
intb=2;
x=newComplex(a,b);
y=newComplex(a+3,b+4);
}
publicvoidpaint(Graphicsg){
g.drawString(”第一个复数:
”+x.toString(),10,50);
g。
drawString(”第二个复数:
"+y。
toString(),10,70);
}
}
classComplex{
intRealPart;//复数的实部
intImaginPart;//复数的虚部
Complex(intr,inti){
r=RealPart;
ImaginPart=i;
}
publicStringtoString{
returnRealPart+"+"+ImaginPart+i;
}
}
(二)编程题(本题2小题,第一题15分,第二题20分,共35分)
1.从"C:
\素材"中取出Average.java文件,在该文件基础上进行补充,完成所需内容的编写。
该程序实现计算学生平均成绩的功能。
主程序已将学生的成绩存放在student数组中.编写Avg方法,该方法计算并返回指定数组的平均值。
(注:
其余程序内容不能修改)。
程序完成后将程序编译及运行所需要的所有文件(包括源程序文件、字节码文件)存放到C:
\KS目录下。
(15分)
Average。
java:
publicclassAverage{
publicstaticvoidmain(String[]args){
int[]student={76,89,70,45,92,83,89,90,61};
floatavg=0;
avg=Avg(student);
System。
out。
print("average="+avg);
}
//在此处完成Avg方法
}
2.从”C:
\素材”中取出lx.java文件,在该文件基础上进行补充,完成所需内容的编写.该applet实现加法练习器的功能。
其初始窗体见图1。
(6分)(注:
可以采用默认布局方式)
当单击”出题"按钮时,随机显示加数与被加数,加数与被加数的取值范围为1—99的整型数,效果见图2;(5分)
当单击"批改"按钮后,显示结果为正确和错误的效果图分别见图3和图4(6分)
以下图示是用Eclipse开发包直接运行的显示效果,仅作参考。
可根据需要在"C:
\素材”中选取lx.html文件。
程序完成后将程序编译及运行所需要的所有文件(包括源程序文件、字节码文件)存放到C:
\KS目录下。
(3分)
图1。
初始窗体图2。
单击”出题”后的窗体
图3.单击"批改”后的窗体
(1)图4。
单击”批改”后的窗体
(2)
lx。
java:
importjava.awt。
*;
importjava。
applet.*;
importjava。
awt。
event。
*;
publicclasslxextendsAppletimplementsActionListener{
privateLabell1;
privateLabell2;
privateLabell3;
privateLabell4;
privateTextFieldt1;
privateLabell5;
privateButtonb1;
privateButtonb2;
inta=0,b=0;//用于存放加数与被加数
publicvoidinit(){
//完成此段程序
}
publicvoidactionPerformed(ActionEvente){
//完成此段程序
}
}
二级JAVA程序设计A场参考答案
单选题
1.Java语言具有许多优点和特点,反映Java程序并行同步机制的特点是______。
D2.C3。
A4.B5。
D6。
B7.D8。
B9.B10。
B
11。
A12.B13。
C14。
C15.A
程序填空题
1。
1)【doublet】
2)【System.out.print(a[i]+"”)】
3)【i〈10】【i<=9】【ilength—1】
4)【a[i]】
5)【a[a。
length-1]】【a[9]】
2.1)【String】
2)【total】
3)【showCommon()】
4)【total*0。
9】【price*num*0.9】
5)【AA。
showBuy()】
操作题
(一)程序调试题
1。
publicclassLoopEx{
publicvoidmain(String[]args){//*****插入static
intsize=5;
for(inti=0:
i->;
for(intj=i;j>=0;j—-)
System。
out.print(i);
System。
out。
print();//*****print—〉println
}
}
}
2。
if(num>=2)//*****(num〉=2)—〉(num〉=100)
System.out。
print("输入的数已超出范围”);
else{
if(str.length()==2){
s=num%10;//*****%->/
g=num%10;
System。
out.println(”你输入的数字是:
”
+hz_table[s]+”拾"+hz_table[g]);
}
else{
g=num;
System。
out.println(”你输入的数字是:
”+hz_table[g]);
}
}
3。
classComplex{
intRealPart;//复数的实部
intImaginPart;//复数的虚部
Complex(intr,inti){
r=RealPart;//*****r=RealPart—〉RealPart=r
ImaginPart=i;
}
publicStringtoString{//******toString—>toString()
returnRealPart+”+"+ImaginPart+i;//******i—〉“I”
}
}
(二)编程题:
1。
publicclassAverage{
publicstaticvoidmain(String[]args){
int[]student={76,89,70,45,92,83,89,90,61};
floatavg=0;
avg=Avg(student);
System。
out.print("average="+avg);
}
staticfloatAvg(inta[]){
floata1=0;
for(inti=0;ia1=a1+a[i];
}
returna1/a。
length;
}
}
2。
importjava.awt.*;
importjava。
applet.*;
importjava。
awt。
event.*;
publicclasslxextendsAppletimplementsActionListener{
privateLabell1;
privateLabell2;
privateLabell3;
privateLabell4;
privateTextFieldt1;
privateLabell5;
privateButtonb1;
privateButtonb2;
inta=0,b=0;
publicvoidinit(){
l1=newLabel(”");
add(l1);
l2=newLabel("+”);
add(l2);
l3=newLabel("”);
add(l3);
l4=newLabel("=”);
add(l4);
t1=newTextField(””);
add(t1);
l5=newLabel(””);
add(l5);
b1=newButton("出题”);
add(b1);
b2=newButton("批改");
add(b2);
b1.addActionListener(this);
b2。
addActionListener(this);
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==b1){
a=(int)(Math.random()*99+1);
b=(int)(Math.random()*99+1);
l1。
setText(a+””);
l3。
setText(b+"”);
t1.setText("");
}
else
if(Integer.parseInt(t1.getText().trim())==(a+b))
l5。
setText(”正确!
");
else
l5.setText(”错误!
");
}
}