赞
踩
第1关:接口的定义与使用-学生还是老师
本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下:
定义一个Introduce接口,包括一个introduction()方法,输出格式见测试样例。
定义一个Student类和一个Teacher类实现Introduce接口。
package step1; import java.util.Objects; import java.util.Scanner; public class StudentOrTeacher { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String string = scanner.next(); Introduce p=null; if (Objects.equals(string, "学生")) { p = new Student(); } else if (Objects.equals(string, "老师")) { p = new Teacher(); } p.introduction(); } } /********** Begin *********/ interface Introduce { void introduction(); } class Student implements Introduce { @Override public void introduction() { System.out.println("我是一名学生!"); } } class Teacher implements Introduce { @Override public void introduction() { System.out.println("我是一名老师!"); } } /********** End *********/
第2关:接口应用:充电器接口的实现
本程序包含三个源文件,分别是:
Telephone.java:主类定义
ICharger.java:接口定义
Charger.java:实现接口的具体类的定义
你的任务是:
(1)熟读ICharger.java中的代码和测试结果,并仔细阅读Telephone中的代码。
(2)在上述前提下,在Telephone中begin-end区域补充完整代码,只需要添加一条代码即可。
(3)完成Charger的定义。
编程要求
本程序包含三个源文件,分别是:
Telephone.java:主类定义
ICharger.java:接口定义
Charger.java:实现接口的具体类的定义
你的任务是:
(1)熟读ICharger.java中的代码和测试结果,并仔细阅读Telephone中的代码。
(2)在上述前提下,在Telephone中begin-end区域补充完整代码,只需要添加一条代码即可。
(3)完成Charger的定义。
测试说明
平台会对你编写的代码进行测试,测试结果的格式如下:
请输入交流电压和当前手机电量:
220 47
已充电到52%
已充电到57%
已充电到62%
已充电到67%
已充电到72%
已充电到77%
已充电到82%
已充电到87%
已充电到92%
已充电到97%
已充电到100%
充电器停止充电
Telephone.java
package step1; import java.util.Scanner; public class Telephone { ICharger charger; private int currentEnergy; public Telephone() { //begin,请在begin-end之间添加一条语句,不要改动其他任何代码,否则为0分。 charger = new Charger(); //接口回调 //end } public static Scanner sc=new Scanner(System.in); public static void main(String[] args) { Telephone tel=new Telephone(); System.out.println("请输入交流电压和当前手机电量:"); float vol=sc.nextFloat(); tel.currentEnergy=sc.nextInt(); tel.beginCharge(vol); sc.close(); } private void beginCharge(float vol) { if(charger.connectPowerline(vol)) { while(true) { currentEnergy=charger.doCharge(currentEnergy); if(currentEnergy==100) { break; } } } } }
Charger.java
//Charger.java ,请完成Charger的完整定义,使它满足主方法的输出内容和格式的要求。 package guet; public class Charger implements ICharger { /** * 将充电器连接到交流电源上 * @param voltage 交流电电压 * @return 当voltage在[200-240]V范围时,返回true,否则返回false */ @Override public boolean connectPowerline(float voltage) { if (voltage>=200 && voltage<=240){ return true; }else { System.out.println("交流电压不在[200,240]范围,无法充电"); return false; } } /** * 关电,停止充电 */ @Override public void powerOff() { System.out.println("充电器停止充电"); } /** * 给手机充电,调用该方法1次,充电5% * @param currentEnergy 手机电池现有电量,[0-100]间的数 * 若电量为100(满电),则停止充电,自动调用powerOff * @return 充电后的电池电量,若currentEnergy为10,则返回10+5=15 */ @Override public int doCharge(int currentEnergy) { if (currentEnergy>=0 && currentEnergy<=100){ if(currentEnergy == 100){ powerOff(); return currentEnergy; } currentEnergy = currentEnergy+5; if(currentEnergy > 100){ currentEnergy = 100; System.out.println("已充电到"+currentEnergy+"%"); powerOff(); return currentEnergy; } System.out.println("已充电到"+currentEnergy+"%"); return currentEnergy; } return 0; } }
ICharger.java
package step3; /** * 提供给充电设计公司的接口 * @author guet.imagan * */ public interface ICharger { /** * 将充电器连接到交流电源上 * @param voltage 交流电电压 * @return 当voltage在[200-240]V范围时,返回true,否则返回false */ boolean connectPowerline(float voltage); /** * 关电,停止充电 */ void powerOff(); /** * 给手机充电,调用该方法1次,充电5% * @param currentEnergy 手机电池现有电量,[0-100]间的数 * 若电量为100(满电),则停止充电,自动调用powerOff * @return 充电后的电池电量,若currentEnergy为10,则返回10+5=15 */ int doCharge(int currentEnergy); }
第3关:接口的继承-体育爱好
编程要求
本关的编程任务是补全右侧代码片段中Begin至End中间的代码,完成MyFavourateTeam类以实现其需要实现的接口,具体要求如下:
通过setSports()设置喜欢的体育赛事类型,如篮球、足球;
通过setTeam()设置支持的队伍,如洛杉矶湖人、皇家马德里等;
通过introduction()大声说出你喜欢的运动,和喜欢的球队,格式如下:“我最喜欢的体育运动是xxx,我最喜欢的球队是xxx”。(具体输入输出格式可参见测试样例)
评测说明
平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。
以下是测试样例:
测试输入:
篮球 洛杉矶湖人
预期输出:
我最喜欢的体育运动是篮球,我最喜欢的球队是洛杉矶湖人
package step2; import java.util.Scanner; public class SportsEvents { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String sports = scanner.next(); String team = scanner.next(); MyFavourateTeam myFavourateTeam = new MyFavourateTeam(); myFavourateTeam.setSports(sports); myFavourateTeam.setTeam(team); myFavourateTeam.introduction(); } } interface Sports { void setSports(String sports); } interface Team { void setTeam(String team); } interface ChooseTeam extends Sports, Team { void introduction(); } /********** Begin *********/ class MyFavourateTeam implements ChooseTeam { private String sports; private String team; @Override public void setSports(String sports) { this.sports = sports; } @Override public void setTeam(String team) { this.team = team; } @Override public void introduction() { System.out.println("我最喜欢的体育运动是"+sports+",我最喜欢的球队是"+team); } } /********** End *********/
答案仅供参考,不对的还请指正,不懂的答疑时去问老师。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。