阅读以下说明和Java代码,填写代码中的空缺,将解答写入答题纸的对应栏内。
【说明】球类比赛记分系统中,每场有两支球队(Team)进行比赛(Game),分别记录各自的得分。图5-1所示为记分系统的类图。
【Java代码】
(1)int goals =0或int goals(2)this.name(3)goals++或++goals或等价表示(4)Team(5)new Game(t1,t2)
本题考查考生应用Java语言进行程序设计的能力,涉及类、对象、方法的定义和相关操作。要求考生根据给出的案例和代码说明,阅读并完成程序填空。本题中涉及比赛和球队。根据说明进行设计,题目给出了类图(图5-1类图所示)。 图中类Game和Team之间是聚合关系。Game类有两个public的方法:getResults()和incrementGoal()分别表示获取比赛结果和某支球队进1球后增加比分;private属性是参加比赛的两支球队。Team类中有3个public方法,分别为本球队进1球后增加得分、获得本队得分和获得球队名称;private的属性为球队名称和得分。球队名采用String类型,得分信息从上下文可知是goals,用int类型。在Team对象创建时,初始化球队名称和得分。Java中,对象的属性若为基本数据类型int,自动初始化为0,如果有显式初始化执行显式初始化;对象的属性若为引用类型String,自动初始化为null,所以需要在构造器中对球队名称加以显式初始化。其构造器接收球队名称,参数名称与对象的属性名均为name,用this关键字加以区分。其中this 关键字用来引用当前对象或类实例,可以用点取属性或行为,即:this.name = name;注:没有同名时是否有this.都表示名称所表示的对象属性。从方法getGoals()中return goals;判断,缺少属性goals来表示得分。再从上下文判断,方法increamentGoal()中,表示在比赛中某球队进1球,即goals的值增加1。创建Game对象表示两支球队的一场比赛。构造器参数为两支球队,用以初始化 Game对象的两个属性。方法getResults()用于输出当前比分。方法incrementGoal()用于表示一球队进1球,具体是哪支球队由参数给定,所以参数类型为Team。主控逻辑代码在Game类中程序主入口main()方法中实现。在main()方法中,先创建两支球队(用new关键字),即两个Team类的对象,球队名称分别为“TA”和“TB”, 引用名称分别为t1和t2,即:Team t1 = new Team("TA");Team t2 = new Team("TB");以这两个对象引用名称为参数,创建一场比赛对象(用new关键字),引用名称为 football,即:Game football = new Game(t1,t2);然后用:football.incrementGoal(t1);football.incrementGoal(t2);分别表示球队TA进一球,球队TB进一球。然后调用getResults()方法输出此时的比分,即:football.getResults();然后TB再进一球,再调用getResults()方法输出此时的比分,即:football.incrementGoal(t2);football.getResults();综上所述,空(1)需要定义表示一支球队的得分goals并初始化为0,题目代码中已经给出用分号结尾,所以空(1)为int goals或int goals=0;空(2)需要表示Team对 象的name属性,即this.name;空(3)需要表示当前球队得分加1,因为只有一条语句,只要表示goals加1即可,即goals++或++goals(等价表示);空(4)需要表示参数类型为球队,即Team;空(5)处为创建Game类的对象football,需要两个Team类型对象的引用,从其后面语句可知,两个引用名称为t1和t2,即new Game(t1,t2)。
扫描微信二维码,添加您的专属老师为好友
您在考试中遇到任何问题,老师都会帮您解答
您希望我们通过哪种方式与您联系?
您已选择电话/微信/QQ的联系方式,课程顾问会尽快联系您!
您已选择微信联系方式,课程顾问会尽快添加您的微信,请您确认通过!
您已选择QQ联系方式,课程顾问会尽快添加您的QQ,请您确认通过!
您已选择电话联系方式,课程顾问会尽快联系您!
您已选择“不联系”,课程顾问不会主动联系您。如果后续您有需求,可以在个人中心主动添加销售微信或拨打客服电话:400-111-9811