CodeGym/课程/Java 核心/奖励任务 | 第 12 课 | 第 5 级

奖励任务 | 第 12 课 | 第 5 级

可用

“你好,士兵!”

“你好,船长!”

“我有一些好消息要告诉你。这里有几道练习题,可以增强你的技能。每天练习练习,你的技能会得到飞速进步。它们是专门针对 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
评论 (15)
  • 受欢迎
你必须先登录才能发表评论
tom
级别 19 ,Ottawa,中国
15 五月 2024, 07:17
太棒了。复习了单例,了解了创建对象的生命周期。调用的顺序等,idea更熟练使用了
Qin-1999
级别 22
15 一月 2024, 07:23
yeah!!!!!!!!!!!!题目来了!!!!!!!!!!!!!!!!!!!!!
zzzz
级别 25 ,China,China
1 十一月 2023, 01:58
解析URL感觉太抽象了
tom
级别 19 ,Ottawa,中国
15 五月 2024, 07:16
剥洋葱
阿狼
级别 32 ,Zhengzhou,China
16 六月 2022, 08:28
类SubSolution是公共的, 应在名为 SubSolution.java 的文件中声明. 当出现这类问题的时候,要先去看看类名的最后是不是自己多打了一个空格
z18335776829
级别 19 ,China,China
31 五月 2023, 19:01
什么多打了一个空格 明明是偷懒复制粘贴然后出错了😝
Qin-1999
级别 22
16 一月 2024, 01:19
复制粘贴不是很常用的操作吗,同样的东西为啥不能复制粘贴,这算偷懒的话你方法都不要封装了,喜欢"勤快"干脆每次都重写整个方法或者类好啦🥳
太古天霸 Web Java Developer
4 十二月 2021, 07:36
单例模式太超纲了感觉
hello world Java Developer
4 十一月 2021, 02:47
计算阶乘用户递归比较好
kqhasaki Software Developer 位于 Hyva Mechanics (Chin
17 八月 2021, 01:14
计算阶乘最好是用BigInteger吧
jumper
级别 20 ,Wuhan,China
15 十月 2020, 08:35
happy
Yuusha-Walter
级别 17 ,Beijing,China
22 八月 2020, 14:55
"调试、调试和再调试"的测试中,为什么修改了访问修饰符就能通过了?虽然蒙对了,但不知道原理。。。
hidden #10646198
级别 16
25 九月 2020, 08:27
private不能重写
sky
级别 22
21 八月 2022, 13:47
一样不知道原理
afei1234567
级别 28 ,China,China
9 十一月 2022, 18:05
一, 如果不改private,保持原来的protected,那么就相当于 class B 重写了 class A 的 initialize() 方法。 那么当你用 class B 的实例对象的引用调用 initialize() 方法时调用的就是你重写的 initialize() 方法,也就是class B 的initialize() 方法。 这时class B 的 initialize() 方法输出的是 class B 的 f1 的值,但是这时 这个 f1 是 0,还没有赋值为3, 所以输出的是 0; 二, 如果将 protected 改为 private 那么就不存在重写 initialize(),调用的就是class A的 initialize() 方法。