java - 将每个字母表设置为数字

标签 java

所以我尝试将字母表中的每个字母设置为数字,例如 a = 1 b = 2 c = 3 等等。

int char = "a";
int[] num = new int{26};
for (int i = 0; i <num.length; i++){
System.out.print(i);

但是在这之后我陷入了困境,所以如果你可以帮助我的话。因此,当用户输入像 cat 这样的单词时,它会输出 3-1-20。

最佳答案

您可以从每个字符中减去 'a' 并添加 1。例如

String input = "cat";
for (char c : input.toCharArray()) {
    System.out.print(c - 'a' + 1);
}

您发布的代码无法编译,因为您无法将 String 分配给 int 并且 char 是保留字(原始类型的名称)

int char = "a";

您还提到您希望输出格式类似于“3-1-20”。这是实现这一目标的一种方法:

String input = "cat";
String[] out = new String[input.length()];
for (int i = 0; i < input.length(); ++i) {
    out[i] = Integer.toString(input.charAt(i) - 'a' + 1);
}
System.out.println(String.join("-", out));

两个版本仅适用于小写英文字母(az)

关于java - 将每个字母表设置为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33633312/

相关文章:

java - 如何使mysql数据库在客户端计算机(桌面应用程序)上运行?

java gui swing 操作用户输入

java - AffineTransform 翻译不同的图形对象

JavaFX 示例代码不播放视频,仅显示媒体播放器

java - servlet 是编写 Java Web 应用程序的唯一方法吗

java - 如何使用 wss4j 库验证 soap 签名

java - neo4j Cypher 查询 - 仅更新更改的字段

java - 我无法在java中获取第一组正则表达式模式

java - 线程如何查看安全初始化对象的陈旧引用

带有局部变量捕获的 Java lambda 表达式