资源描述
程序填空题
第1题。
程序实现青年歌手比赛的评分计算。其计算方法是将十位评委的个人评分去掉其中的最高分和最低分,然后输出其余评委评分的平均值作为该歌手的最后得分。运行该程序显示以下结果:
9.8 9.7 9.9 9.5 9.3 9.2 9.8 9.0 9.9 9.8
去掉一个最高分9.9,去掉一个最低分9.0,最后得分是:9.625
请将程序补充完整。
public class Contest{
public static void main(String arg[ ]){
int i,j;
(1) ; double t
double a[ ]={9.8, 9.7, 9.9, 9.5, 9.3, 9.2, 9.8, 9.0, 9.9, 9.8};
double sum=0, ave;
for( i=0; i<10;i++ )
(2) ; System.out.print(a[i]+" ")
for ( i=0; (3) ; i++ ) i<10
for( j=i+1; j<10; j++)
if (a[i] >a[j])
{ t=a[j]; a[j]=a[i]; a[i]=t; }
for(i=1;i<a.length-1;i++)
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
请将程序补充完整。
abstract class Goods{
(1) goods; String
float price;
double (2) ; total
int num;
public abstract void goods(String _goods, float _price, int _num);
}
class Common extends Goods{
public void (3) { showCommon()
System.out.println("这是一个普通用户");
}
public void goods(String _goods, float _price, int _num){
goods=_goods;
price=_price;
num=_num;
total=_price*_num;
}
public void showBuy(){
System.out.println("货物:"+goods);
System.out.println("价格:"+price);
System.out.println("数量:"+num);
System.out.println("总价:"+total);
}
}
final class Associator extends Common{
public void showAssociator(){
System.out.println("这是一个会员用户"); }
public void showBuy(){
super.showBuy();
System.out.println("作为会员用户,享受九折优惠");
System.out.println("总价:"+___ (4) _____); total*0.9
}
}
public class BuyGoods{
public static void main(String args[]){
Common AA=new Common();
Associator BB=new Associator();
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:
public class LoopEx {
public void main(String[] args) {
int size = 5;
for (int i=0: i<size; i++) {
for (int j=i; j>=0; j--)
System.out.print(i);
System.out.print();
}
}
}
2.从"C:\素材"中取出Exchange.java文件,该程序在if语句中有两个错误。程序的功能是:当键盘输入一个小于"100"的数字字符串(例如"56"),程序将其转换成汉字表达方式并输出("伍拾陆")。
请按题中的要求调试修改该程序,并将结果(包括源文件、字节码文件)保存到C:\KS目录中。请务必在所修改的语句后加上注释语句://*****。
Exchange.java:
import java.io.* ;
public class Exchange{
public static void main(String args[]) throws IOException {
String hz_table[]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
int num,g,s;
String str;
BufferedReader buf;
buf=new BufferedReader(new InputStreamReader(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:
import java.applet.* ;
import java.awt.* ;
public class Complex_ex extends Applet {
Complex x,y ;
public void init( ) {
int a = 7;
int b = 2;
x = new Complex(a,b);
y = new Complex(a+3,b+4);
}
public void paint(Graphics g) {
g.drawString("第一个复数:"+x.toString(),10,50);
g.drawString("第二个复数:"+y.toString(),10,70);
}
}
class Complex{
int RealPart ; // 复数的实部
int ImaginPart ; // 复数的虚部
Complex(int r , int i) {
r = RealPart;
ImaginPart = i;
}
public String toString {
return RealPart+" + "+ImaginPart+i;
}
}
(二)编程题 (本题2小题,第一题15分,第二题20分,共35分)
1.从"C:\素材"中取出Average.java文件,在该文件基础上进行补充,完成所需内容的编写。该程序实现计算学生平均成绩的功能。主程序已将学生的成绩存放在student数组中。编写Avg方法,该方法计算并返回指定数组的平均值。(注:其余程序内容不能修改)。
程序完成后将程序编译及运行所需要的所有文件(包括源程序文件、字节码文件)存放到C:\KS目录下。(15分)
Average.java:
public class Average{
public static void main(String[] args){
int[] student={76,89,70,45,92,83,89,90,61};
float avg=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:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class lx extends Applet implements ActionListener{
private Label l1 ;
private Label l2 ;
private Label l3 ;
private Label l4 ;
private TextField t1;
private Label l5 ;
private Button b1 ;
private Button b2 ;
int a=0,b=0; //用于存放加数与被加数
public void init(){
//完成此段程序
}
public void actionPerformed(ActionEvent e){
//完成此段程序
}
}
二级 JAVA 程序设计 A 场 参考答案
单选题
1. Java语言具有许多优点和特点,反映Java程序并行同步机制的特点是______。
D 2. C 3. A 4. B 5. D 6. B 7. D 8. B 9. B 10. B
11. A 12. B 13. C 14. C 15. A
程序填空题
1. 1)【double t】
2)【System.out.print(a[i]+" ")】
3)【i<10】【i<=9】【i<a.length】【i<a.length-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.
public class LoopEx {
public void main(String[] args) { //*****插入static
int size = 5;
for (int i=0: i<size; i++) {//***** : -> ;
for (int j=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.
class Complex{
int RealPart ; // 复数的实部
int ImaginPart ; // 复数的虚部
Complex(int r , int i) {
r = RealPart; //***** r = RealPart -> RealPart =r
ImaginPart = i;
}
public String toString { //****** toString -> toString()
return RealPart+" + "+ImaginPart+i; //****** i -> “I”
}
}
(二)编程题:
1.
public class Average{
public static void main(String[] args){
int[] student={76,89,70,45,92,83,89,90,61};
float avg=0 ;
avg=Avg(student);
System.out.print ("average="+avg);
}
static float Avg(int a[]){
float a1=0;
for (int i=0;i<a.length;i++){
a1=a1+a[i];
}
return a1/a.length;
}
}
2.
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
public class lx extends Applet implements ActionListener{
private Label l1 ;
private Label l2 ;
private Label l3 ;
private Label l4 ;
private TextField t1;
private Label l5 ;
private Button b1 ;
private Button b2 ;
int a=0,b=0;
public void init(){
l1 =new Label(" ");
add(l1);
l2 =new Label("+");
add(l2);
l3 =new Label(" ");
add(l3);
l4 =new Label("=");
add(l4);
t1 =new TextField(" ");
add(t1);
l5 =new Label(" ");
add(l5);
b1 =new Button("出题");
add(b1);
b2 =new Button("批改");
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
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("错误!");
}
}
展开阅读全文