欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】程序员-Java程序设计(二)及答案解析.doc

    • 资源ID:1336139       资源大小:55KB        全文页数:11页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】程序员-Java程序设计(二)及答案解析.doc

    1、程序员-Java 程序设计(二)及答案解析(总分:100.03,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)阅读以下说明和 Java代码,填补 Java代码中的空缺,将解答写在对应栏内。说明己知某公司按周给员工发放工资,其工资系统需记录每名员工的员工号、姓名、工资等信息。其中一些员工是正式的,按年薪分周发放(每年按 52周计算);另一些员工是计时工,以小时工资为基准,按每周工作小时数核算发放。下面是实现该工资系统的 Java代码,其中定义了四个类:工资系统类 PayRoll,员工类 Employee,正式工类 Salaried和计时工类 Hourly,Salaried 和

    2、Hourly是 Employee的子类。Java代码abstract class Employeeprotected String name; /员工姓名protected int empCode; /员工号protected double salary; /周发放工资publ ic Employee(int empCode,String name)this.empCode=empCode;this.name=name;public double getSalary()return this.salary;public abstract void pay();class Salaried _

    3、Employeeprivate double annualSalary;Salaried(int empCode,String name,double payRate)super(empCode,name);this.annualSalary=payRate;public void pay()salary=_;/计算正式员工的周发放工资数System.out.printin(this.name+“:“+this.salary);class Hourly _ Empioyeeprivate double hourlyPayRate;private int hours;Hourly(int emp

    4、Code,String name,int hours,double payRate)super(empCode,name);this.hourlyPayRate=payRate;this.hows=hours,public void pay()salary=_;/计算计时工的周发放工资数System.out.printin(this.name+“:“+this.salary);public class PayRollprivate _ employees=new Salaried(1001,“Zhang San“,58000.00),/此处省略对其他职工对象的生成new Hourly(1005

    5、,“Li“,12,50.00);public void pay(Employee e)for(int i=0;ie.length;i+)ei.pay();public static void main(Stringrgs)PayRoll payRoll=new PayRoll();payRoll.pay(_);double total=0.0;for(int i=0;ipayRoll.employees.length;i+)/统计周发放工资总额total+=payRoll.employeesi.getSalary();System.out.printin(total);(分数:25.02)填空

    6、项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_二、试题二(总题数:1,分数:25.00)阅读以下说明和 Java程序,填充程序中的空缺,将解答填入对应栏内。说明下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在图所示的 8个点中,点(1,1)与(2,0.5)是间距最近的点对。(分数:25.00)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_三、试题三(总题数:1,分数:25.00)阅读以下

    7、说明和 Java代码,将应填入_处的语句或语句成分写在对应栏内。说明某数据文件 students.txt的内容为 100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。Java代码import Java.io.*;class Studentprivate String sNO; /学号private int Credit; /分数public int getCredit()return Credit;public String toString()return“sNO=“+this.sNO+“,Credit=“+this.Cred

    8、it;Student(String sNO,int Credit)_=sNO;_=Credit;public class SortStudentvoid sort(Students)/Sort the array s in decending order of Creditfor(int i=0;is.length-1;i+)for(int j=i+1;js.length;j+)if(si._sj._)Student tmp=si;si=sj;sj=tmp;public static void main(String argv)Student testStudent=new Studentsi

    9、ze;tryBufferedReader in=new BufferedReader(new FileReader(“students.txt“);boolean done=false;int i=0;while(!done)String s=in.readLine(); /每次读取一个学生的学号和成绩if(s!=rimll)String tmp=s.split(“,“);testStudenti+=_(tmp0,Integer.parseInt(tmp1);elsedone=true;in.closeo();_=new SortStudent();ss.Soft(testStudent);S

    10、ystem.out.printin(“top 30%:“);for(int j=0;jsize*0.3;j+)System.out.printin(testStudentj);catch(IOException e)System.out.printin(“io error!“);catch(NumberFormatException e)System.out.println(“not a number!“);_int size=100; /学生总数(分数:25.02)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_四、试题四(总题数:1,分数:25.00)阅

    11、读以下说明和 Java代码,将应填入_处的语句或语句成分写在对应栏内。说明某数据文件 students.txt的内容为 100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。Java代码import java.io.*;class Studentprivate String sNO;/学号private int Credit;/分数public int getCredit()return Credit;public string toString()return“sNO=“+this.sNO+“,Credit=“+this.Cre

    12、dit;Student(String sNO,int Credit)_=sNO;_=Credit;public class SortStudentvoid sort(Students)/Sort the array s in decending order of Creditfor(int i=0;is.length-1;i+)for(int j=i+1:js.length;j+)if(si._sj._)Student tmp=si;si=sj;sj=tmp;public static void main(String argv)Student testStudent=new Students

    13、iZe;tryBufferedReader in=new BufferedReader(new FileReader(“students.txt“);boolean done=false;int i=0;while(!done)String s=in.readLine(); /每次读取一个学生的学号和成绩if(s!=null)String tmp=s.split(“,“);testStudenti+=_(tmp0,Integer.parseInt(tmp1);elsedone=true;in.closeo();_=new SortStudent();ss.sort(testStudent);S

    14、ystem.out.printin(“top 30%:“);for(int j=0;jsize*0.3;j+)System.out.printin(testStudentj);catch(IOException e)System.out.printin(“io error!“);catch(NumberFormatException e)System.out.printin(“not a number!“);_int size=100; /学生总数(分数:24.99)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_程序员-Java 程序设计(二

    15、)答案解析(总分:100.03,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)阅读以下说明和 Java代码,填补 Java代码中的空缺,将解答写在对应栏内。说明己知某公司按周给员工发放工资,其工资系统需记录每名员工的员工号、姓名、工资等信息。其中一些员工是正式的,按年薪分周发放(每年按 52周计算);另一些员工是计时工,以小时工资为基准,按每周工作小时数核算发放。下面是实现该工资系统的 Java代码,其中定义了四个类:工资系统类 PayRoll,员工类 Employee,正式工类 Salaried和计时工类 Hourly,Salaried 和 Hourly是 Employee

    16、的子类。Java代码abstract class Employeeprotected String name; /员工姓名protected int empCode; /员工号protected double salary; /周发放工资publ ic Employee(int empCode,String name)this.empCode=empCode;this.name=name;public double getSalary()return this.salary;public abstract void pay();class Salaried _ Employeeprivate

    17、double annualSalary;Salaried(int empCode,String name,double payRate)super(empCode,name);this.annualSalary=payRate;public void pay()salary=_;/计算正式员工的周发放工资数System.out.printin(this.name+“:“+this.salary);class Hourly _ Empioyeeprivate double hourlyPayRate;private int hours;Hourly(int empCode,String name

    18、,int hours,double payRate)super(empCode,name);this.hourlyPayRate=payRate;this.hows=hours,public void pay()salary=_;/计算计时工的周发放工资数System.out.printin(this.name+“:“+this.salary);public class PayRollprivate _ employees=new Salaried(1001,“Zhang San“,58000.00),/此处省略对其他职工对象的生成new Hourly(1005,“Li“,12,50.00);

    19、public void pay(Employee e)for(int i=0;ie.length;i+)ei.pay();public static void main(Stringrgs)PayRoll payRoll=new PayRoll();payRoll.pay(_);double total=0.0;for(int i=0;ipayRoll.employees.length;i+)/统计周发放工资总额total+=payRoll.employeesi.getSalary();System.out.printin(total);(分数:25.02)填空项 1:_ (正确答案:exte

    20、nds)解析:填空项 1:_ (正确答案:annualSalary/52)解析:填空项 1:_ (正确答案:extends)解析:填空项 1:_ (正确答案:hours* hourlyPayRate)解析:填空项 1:_ (正确答案:Employee)解析:填空项 1:_ (正确答案:payRoll.employees)解析:本题考查考生利用 Java语言设计程序的能力,涉及类、方法和抽象方法的定义和相关操作以及继承关系。考生需要根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成程序的设计。根据题目中有关信息的描述,Salaried 和 Hourly是 Employee的子类,它们之

    21、间是继承关系。第一空和第三空处需要体现出类之间的继承关系。在子类的构造方法中,调用父类的构造方法。在 Java语言中,子类继承父类的语法格式为:class 子类名 extends父类名。因此,第一空处和第三空(3)处均应填入:extends。根据题目的描述及程序段的注释,第二空处实现计算正式员工的周发放工资数。正式员工的周发放工资数为年薪除以总周数,因此应填入 annualSalary/52。第四空处实现计算计时工的周发放工资数。计时工的周发放工资数为周工作小时数乘上小时工资数。因此,第四空处应填入 hours* hourlyPayRate。第五空处用于生成 5个员工的信息,此处缺少一个类型修

    22、饰符。由对象的生成信息可知,此处应填入父类的类名,即 Employee。第六空处调用工资系统类 PayRoll中的 pay函数。由类 PayRoll中构造方法 public void pay(Employee e)的形式可以确定,第六空处应填入 payRoll.employees。二、试题二(总题数:1,分数:25.00)阅读以下说明和 Java程序,填充程序中的空缺,将解答填入对应栏内。说明下面的程序用来计算并寻找平面坐标系中给定点中最近的点对(若存在多对,则输出其中的一对即可)。程序运行时,先输入点的个数和一组互异的点的坐标,通过计算每对点之间的距离,从而确定出距离最近的点对。例如,在图所

    23、示的 8个点中,点(1,1)与(2,0.5)是间距最近的点对。(分数:25.00)填空项 1:_ (正确答案:GPoint)解析:填空项 1:_ (正确答案:new GPoint)解析:填空项 1:_ (正确答案:points.length)解析:填空项 1:_ (正确答案:getDistance(pointsi,pointsj))解析:填空项 1:_ (正确答案:shortestDistancetmpDistance)解析:本题考查考生使用 JAVA语言进行面向对象程序设计的能力。首先要理解清楚题目中有关最近点对的概念和计算方法,然后阅读程序以实现该功能。第一空处显示创建保存点坐标的数组。这

    24、里的 new运算符用于开辟数组空间,其语法规则为:new 类型初值。第一空处需要填入一类型修饰符,因此应填入 GPoint。类似的思路,第二空处考查 Java语言中用 new初始化数组,应填入 new GPoint。根据程序段中的注释,第三空和第四空处实现计算每一对点之间的距离。第三空处为循环控制变量,因为要计算所有对点间的距离,因此应填入 points.length。第四空应调用 computeDistance类的 distance函数计算每一对点 pointsi和 pointsj之间的距离,因此应填入 getDistance(pointsi,pointsj)。第五空处应填入一个判断条件,以

    25、输出距离最小的点对。这可通过比较 shortestDistance和tmpDistance来实现。因此,第五空处应填入 shortestDistancetmpDistance。三、试题三(总题数:1,分数:25.00)阅读以下说明和 Java代码,将应填入_处的语句或语句成分写在对应栏内。说明某数据文件 students.txt的内容为 100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。Java代码import Java.io.*;class Studentprivate String sNO; /学号private int

    26、Credit; /分数public int getCredit()return Credit;public String toString()return“sNO=“+this.sNO+“,Credit=“+this.Credit;Student(String sNO,int Credit)_=sNO;_=Credit;public class SortStudentvoid sort(Students)/Sort the array s in decending order of Creditfor(int i=0;is.length-1;i+)for(int j=i+1;js.length

    27、;j+)if(si._sj._)Student tmp=si;si=sj;sj=tmp;public static void main(String argv)Student testStudent=new Studentsize;tryBufferedReader in=new BufferedReader(new FileReader(“students.txt“);boolean done=false;int i=0;while(!done)String s=in.readLine(); /每次读取一个学生的学号和成绩if(s!=rimll)String tmp=s.split(“,“)

    28、;testStudenti+=_(tmp0,Integer.parseInt(tmp1);elsedone=true;in.closeo();_=new SortStudent();ss.Soft(testStudent);System.out.printin(“top 30%:“);for(int j=0;jsize*0.3;j+)System.out.printin(testStudentj);catch(IOException e)System.out.printin(“io error!“);catch(NumberFormatException e)System.out.printl

    29、n(“not a number!“);_int size=100; /学生总数(分数:25.02)填空项 1:_ (正确答案:this.sNO)解析:填空项 1:_ (正确答案:this.Credit)解析:填空项 1:_ (正确答案:getCmdit())解析:填空项 1:_ (正确答案:getCredit())解析:填空项 1:_ (正确答案:new Student)解析:填空项 1:_ (正确答案:SortStudent ss)解析:第一空和第二空考查局部变量和实例变量的区别,实例变量 sNO和 Credit与构造方法 Student的参数同名,在构造方法内,实例变量 sNO和 Cred

    30、it均不可见,若想对实例变量进行赋值必须用 this。所以答案分别为 this.sNO和 this.Credit。第三空和第四空所在类的功能是冒泡排序,排序的依据是按照成绩,类 Student中的 Credit为私有变量,只有通过公共方法 getCredit()进行访问。所以答案均为getCredit()。testStudent 为对缘数组,所以第五空中为对象的声明语句,即 new Student。第六空所在语句的功能是排序类 SortStudent的声明和创建,所以答案为 SortStudent ss。Java 中 final变量可以先使用后声明,所以第七空为 final。四、试题四(总题数

    31、:1,分数:25.00)阅读以下说明和 Java代码,将应填入_处的语句或语句成分写在对应栏内。说明某数据文件 students.txt的内容为 100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。Java代码import java.io.*;class Studentprivate String sNO;/学号private int Credit;/分数public int getCredit()return Credit;public string toString()return“sNO=“+this.sNO+“,Cred

    32、it=“+this.Credit;Student(String sNO,int Credit)_=sNO;_=Credit;public class SortStudentvoid sort(Students)/Sort the array s in decending order of Creditfor(int i=0;is.length-1;i+)for(int j=i+1:js.length;j+)if(si._sj._)Student tmp=si;si=sj;sj=tmp;public static void main(String argv)Student testStudent

    33、=new StudentsiZe;tryBufferedReader in=new BufferedReader(new FileReader(“students.txt“);boolean done=false;int i=0;while(!done)String s=in.readLine(); /每次读取一个学生的学号和成绩if(s!=null)String tmp=s.split(“,“);testStudenti+=_(tmp0,Integer.parseInt(tmp1);elsedone=true;in.closeo();_=new SortStudent();ss.sort(t

    34、estStudent);System.out.printin(“top 30%:“);for(int j=0;jsize*0.3;j+)System.out.printin(testStudentj);catch(IOException e)System.out.printin(“io error!“);catch(NumberFormatException e)System.out.printin(“not a number!“);_int size=100; /学生总数(分数:24.99)填空项 1:_ (正确答案:this.sNO)解析:填空项 1:_ (正确答案:this.Credit

    35、)解析:填空项 1:_ (正确答案:getCredit())解析:填空项 1:_ (正确答案:getCredit())解析:填空项 1:_ (正确答案:new Student)解析:填空项 1:_ (正确答案:SortStudent ss)解析:填空项 1:_ (正确答案:final)解析:第一空和第二空考查局部变量和实例变量的区别,实例变量 sNO和 Credit与构造方法 Student的参数同名,在构造方法内,实例变量 sNO和 Credit均不可见,若想对实例变量进行赋值必须用 this。所以答案分别为 this.sNO和 this.Credit。第三空和第四空所在类的功能是冒泡排序,排序的依据是按照成绩,类 Student中的 Credit为私有变量,只有通过公共方法 getCredit()进行访问。所以答案均为getCredit()。testStudent 为对象数组,所以第五空中为对象的声明语句,即 new Student。第六空所在语句的功能是排序类 SortStudent的声明和创建,所以答案为 SortStudent ss。Java 中 final变量可以先使用后声明,所以第七空为 final。


    注意事项

    本文(【计算机类职业资格】程序员-Java程序设计(二)及答案解析.doc)为本站会员(unhappyhay135)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开