“你好,士兵!”
“你好,船长!”
“我有一些好消息要告诉你。这里有几道练习题,可以增强你的技能。每天练习练习,你的技能会得到飞速进步。它们是专门针对 IntelliJ IDEA 创建的。”
16
任务
Java 核心, 第 5 级, 课程 12
不同类型的不同方法
1.从控制台读取数据,直到输入“exit”为止。
2.对于每个值(除了“exit”),调用 print 方法。如果值:
2.1. 包含句点(“.”),则调用 Double 的 print 方法;
2.2. 大于零但小于 128,则调用 short 的 print方法;
2.3. 小于等于零或大于等于 128,则调用 Integer 的 print 方法;
2.4. 否则,调用 String 的 print 方法。
4
任务
Java 核心, 第 5 级, 课程 12
大脑训练
查找逻辑错误:Duck 应正确实现 CanMove 接口。
请修复错误。
输出应为:
飞行
移动
8
任务
Java 核心, 第 5 级, 课程 12
OOP:方法重载
1.在 Tree 类中,重载 info(Object s) 方法两次以获得三个方法:info(Object s)、info(Number s) 和 info(String s)。
1.1.学习 info(Object s) 方法。在新方法中创建类似的功能。
1.2.例如,info(Number s) 方法的结果可能是“Tree 编号 123,Number 方法,Short 参数”。
16
任务
Java 核心, 第 5 级, 课程 12
巩固单例模式
1.查找用于延迟初始化的单例模式。使用个人喜好的搜索引擎(例如 Google)。
2.在单独的文件中,创建三个相似的单例类:Sun、Moon 和 Earth。
3.在 Sun、Moon 和 Earth 类中实现 Planet 接口。
4.在 Solution 类的 static 块中,调用 readKeyFromConsoleAndInitPlanet 方法。
5.实现 readKeyFromConsoleAndInitPlanet 方法:
5.1.从控制台读取一个 String。
5.2.如果值等于 Planet 接口的 constants,则创建一个相应的对象并将其分配给 Planet t
8
任务
Java 核心, 第 5 级, 课程 12
重载构造方法
1.在 Solution 类中,创建含不同访问修饰符的 4 个构造方法。
2.在一个单独的文件,创建 SubSolution 类并使其成为 Solution 类的子类。
3.在 SubSolution 类中,使用 Alt+Insert -> Constructors 命令创建构造方法。
4.更正 SubSolution 构造方法的访问修饰符,以便存在含不同访问修饰符(不包括 private)的 3 个构造方法。
8
任务
Java 核心, 第 5 级, 课程 12
加载变量的顺序
找出初始化的内容和顺序。设置断点并使用调试程序。
更正数据初始化的顺序以获得以下结果:
static void init()
Static 块
public static void main
非 Static 块
static void printAllFields
0
null
Solution 构造方法
static void printAllFields
6
名称
8
任务
Java 核心, 第 5 级, 课程 12
static 块中的文件
1.将变量 Statics.FILE_NAME 初始化为包含几行数据文件的完整路径。
2.然后,在 static 块,从名为 Statics.FILE_NAME 的文件读取所有行,然后分别添加到列表行中。
8
任务
Java 核心, 第 5 级, 课程 12
调试、调试和再调试
程序显示 0 9,但应显示 6 9。找到(一个!)错误并纠正。
使用调试程序。设置 ,breakpoints (Ctrl+F8),然后转到 Run -> Debug。
F9 将执行代码,直至碰到下一个断点
F8 将跳到代码的下一行。
16
任务
Java 核心, 第 5 级, 课程 12
请求解析器
从控制台读取一个 URL 。
显示所有参数的空格分隔列表(参数后面接“?”并用“&”隔开,例如“lvl=15”)。
URL 至少包含 1 个参数。
参数的显示顺序必须与 URL 中的顺序一样。
如果存在 obj 参数,则将它的值传递到相关的 alert 方法。
alert(double value) - 用于数字(小数含小数点)
alert(String value) - 用于字符串
注意,alert 方法必须在显示所有参数的列表之后调用。
示例 1
输入:
http://codegym.cc/alpha/index.html?lvl=15&view&name=Ami
8
任务
Java 核心, 第 5 级, 课程 12
OOP:欧元也是钱
更正 Euro 类以避免 StackOverflowError。
“以前的练习题是针对新手的。我为老学员添加了一些更高级的奖励练习题。只为老学员提供哦。”
8
任务
Java 核心, 第 5 级, 课程 12
掌握 static 块
1.在单独的文件中,创建 Plane 和 Helicopter 类,这两个类实现 CanFly 接口。
2.Plane 类必须包含带 int 参数的构造方法(登机的乘客数)。
3.在 Solution 类的 static reset 方法中:
3.1.从控制台读取 String。
3.2.如果该值是“helicopter”,则分配一个 Helicopter 对象到 static CanFly 字段 result。
3.3.如果该值是“plane”,则读取第二个值(int,乘客数),然后分配一个 Plane 对象到 static CanFly 字段 result。
4.在 static 块中,调
8
任务
Java 核心, 第 5 级, 课程 12
模板模式
1.在单独的文件中,创建含三个抽象方法的 DrinkMaker 类:
- void getRightCup() - 选择合适的杯子
- void addIngredients() - 加入原料
- void pour() - 倒入液体
2.在 DrinkMaker 类中,声明和实现 void makeDrink() 方法,它按以下列顺序准备饮料:选择一个杯子,加入原料,倒入液体。
3.在单独的文件中,创建继承 DrinkMaker 的 LatteMaker 和 TeaMaker 类。
4.在 LatteMaker 和 TeaMaker 类的方法中分配如下短语,不同的方法对应不同的短语。
8
任务
Java 核心, 第 5 级, 课程 12
阶乘
写一个计算阶乘的方法,即从 1 到包括输入的数字在内的所有数字的乘积。
示例计算:4! = factorial(4) = 1*2*3*4
示例输出:24
1.从控制台输入小于等于 150 的数。
2.实现 factorial 方法。
3.如果输入的数字小于 0,则显示 0。
0! = 1