轨道
/
Java
Java
/
练习
/
一尘不染
一尘不染

一尘不染

学习练习

简介

字符

字符

Java 的 char 基本类型用 16 位来表示单个字符。 多个 char 可以组成一个字符串,比如 "word",也可以单独处理每个 char。 char 字面量用单引号括起来(例如 'A')。

char lowerA = 'a';
char upperB = 'B';

获取String的char

String.toCharArray 方法会以数组的形式返回字符串中的各个字符。 正如数组那一节提到的,你可以用 for 循环来遍历这个数组。

String text = "Hello";
char[] asArray = text.toCharArray();

for (char ch: asArray) {
    System.out.println(ch);
}

// Outputs:
// H
// e
// l
// l
// o

Character 类

内置库中有很多方法可以用来检查和操作 char。 它们都是 java.lang.Character 类的静态方法。 下面是一些例子:

Character.isWhitespace(' ');    // true
Character.isWhitespace('#');    // false

Character.isLetter('a');        // true
Character.isLetter('3');        // false

Character.isDigit('6');         // true
Character.isDigit('?');         // false

把char添加到String中

可以用 + 运算符把一个 char 添加到 String 中。

'a' + " banana"     // => "a banana"
"banana " + 'a'     // => "banana a"
Caution

小心,_不要_用 + 把两个 char 拼接成一个 String! 这样把两个 char 相加得到的是 int,不是 String! 例如:

'b' + 'c';
// => 197 (not the String "bc")

这是因为 Java 会把 char 提升为 int(参见 Java 语言规范 中的 4.2 基本类型和值)。

不过,如果要添加的字符很多,改用 StringBuilder 可能会更高效:

StringBuilder builder = new StringBuilder();
builder.append('a');
builder.append('b');
builder.append('c');

String builtString = builder.toString();
// => abc

说明

在这个练习中,你将实现一部分工具方法,帮助开发者清理 SqueakyClean 名称。

在这 4 个任务中,你将逐步构建clean方法。 有效的 SqueakyClean 名称由零个或多个字母和下划线组成。

在所有情况下,输入字符串都保证不为 null。注意,clean方法应把空字符串视为有效。

1. 把遇到的空格替换为下划线

实现(static)SqueakyClean.clean()方法,把任何空格替换为下划线。这也适用于开头和结尾的空格。

SqueakyClean.clean("my   Id");
// => "my___Id"

2. 把 kebab-case 转换为 camelCase

修改(static)SqueakyClean.clean()方法,把 kebab-case 转换为 camelCase。

SqueakyClean.clean("a-bc");
// => "aBc"

3. 把黑客语转换为普通文本

修改(static)SqueakyClean.clean()方法,把黑客语转换为普通文本。

为简单起见,我们只把4、3、0、1和7分别替换为a、e、o、l和t。

SqueakyClean.clean("H3ll0 W0rld");
// => "Hello_World"
SqueakyClean.clean("4 73s7");
// => "a_test"

4. 省略不是字母的字符

修改(static)SqueakyClean.clean()方法,省略任何不是字母的字符。

SqueakyClean.clean("a$#.b");
// => "ab"
通过 GitHub 编辑 链接将在新窗口或新标签页中打开
Java Exercism

准备好开始 一尘不染 了吗?

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