轨道
/
Java
Java
/
练习
/
市场部的 Tim
市场部的 Tim

市场部的 Tim

学习练习

简介

可空性

在 Java 中,null字面量用来表示值的缺失。

Java 中的基本数据类型都有默认值,因此永远不可能是null。按照约定,它们以小写字母开头,例如int。

引用类型保存的是对象的内存地址,其值可以是null。它们通常以大写字母开头,例如String。

如果试图把null赋值给基本类型变量,就会导致编译时错误,因为该变量始终保存着其所属类型的基本类型值。

//Throws compile time error stating the required type is int, but null was provided
int number = null;

把null赋值给引用变量不会导致编译时错误,因为引用变量是可空的。

//No error will occur as the String variable str is nullable
String str = null;

说明

在本练习中,你将编写代码,为工厂员工打印工牌。

1. 为员工打印工牌

员工有 ID、姓名和部门名称。员工工牌标签的格式如下:"[id] - name - DEPARTMENT"。 实现Badge.print()方法,返回员工的工牌标签:

Badge badge = new Badge();
badge.print(734, "Ernest Johnny Payne", "Strategic Communication");
// => "[734] - Ernest Johnny Payne - STRATEGIC COMMUNICATION"

注意,标签上的部门名称应转换为大写。

2. 为新员工打印工牌

由于计算机系统的一个古怪之处,新员工刚开始在工厂工作时,有时还没有 ID。 由于必须佩戴工牌,他们会收到一个不带 ID 前缀的临时工牌。修改Badge.print()方法,使其支持还没有 ID 的新员工:

Badge badge = new Badge();
Badge.print(null, "Jane Johnson", "Procurement");
// => "Jane Johnson - PROCUREMENT"

3. 为老板打印工牌

即使是工厂老板,也必须始终佩戴工牌。 不过,老板没有部门。在这种情况下,标签应打印"OWNER",而不是部门名称。 修改Badge.print()方法,为老板打印标签:

Badge badge = new Badge();
badge.print(254, "Charlotte Hale", null);
// => "[254] - Charlotte Hale - OWNER"

注意,老板也可能是新员工:

Badge badge = new Badge();
badge.print(null, "Charlotte Hale", null);
// => "Charlotte Hale - OWNER"
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Java Exercism

准备好开始 市场部的 Tim 了吗?

注册 Exercism,借助 26 个概念158 个练习 和真人导师指导,学习并掌握 Java,全部免费。