gpt4 book ai didi

java - 使用java函数将字符 "a"转换为数字0

转载 作者:行者123 更新时间:2023-12-01 21:48:08 25 4
gpt4 key购买 nike

所以我正在学习函数和方法,并尝试创建一个函数,允许我用数字替换字母,因此“a”将是 0,“b”将是 1,依此类推向前。我根本不知道 ascii,并且只遇到过创建一个很长的 if,else 语句,但我什至不知道我是否走在正确的轨道上。我正在尝试找到一种方法来创建函数,而无需编写很长的条件语句并使用更少的代码行。

这是我根据建议编写的新代码:

公共(public)类凯撒密码{

/*
* create function that converts a letter to a number
* ex. a -> 0, b -> 1, etc...
*/
static char letterToNumber (char firstLetter){
if (firstLetter < 'a' || firstLetter > 'z') {
}
return firstLetter;
}
static int numberToLetter (int firstNumer){
if (firstNumber < '0' || firstNumber '25'){
}
return firstNumber;
}
public static void main(String[] args) {
char a = 0;
// TODO Auto-generated method stub
System.out.println (letterToNumber (a)); //suppose to compile to convert a -> the number 0
System.out.println(numberToLetter (1)); //compile to convert 1 -> the letter b
}

}

最佳答案

最简单的方法就是减去文字 'a'... 这将隐式地将您的输入字母和 'a' 转换为 int :

public int convert(char letter) {
if (letter < 'a' || letter > 'z') {
throw new IllegalArgumentException("Only lower-case ASCII letters are valid");
}
return letter - 'a';
}

这个解决方案的好处是它相当“明显正确”(假设字母“a”到“z”在 UTF-16 中是连续的)。您不需要包含任何神奇的整数值。

关于java - 使用java函数将字符 "a"转换为数字0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35669580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com